mlt_log.[hc], mlt_transition.c, mlt_tractor.c, mlt_repository.c, mlt_properties.c,
[melted] / src / framework / Makefile
index 2f3e1e3..9112ff1 100644 (file)
@@ -1,12 +1,27 @@
 include ../../config.mak
 
-TARGET = libmlt.so
+NAME = libmlt$(LIBSUF)
+TARGET = $(NAME).$(version)
+
+ifneq ($(targetos), Darwin)
+NAME = libmlt$(LIBSUF)
+TARGET = $(NAME).$(version)
+SONAME = $(NAME).$(soversion)
+SHFLAGS += -Wl,-soname,$(SONAME)
+else
+NAME = libmlt$(LIBSUF)
+TARGET = libmlt.$(version)$(LIBSUF)
+SONAME = libmlt.$(soversion)$(LIBSUF)
+SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
+endif
 
 OBJS = mlt_frame.o \
+          mlt_geometry.o \
           mlt_deque.o \
           mlt_property.o \
           mlt_properties.o \
           mlt_events.o \
+          mlt_parser.o \
           mlt_service.o \
           mlt_producer.o \
           mlt_multitrack.o \
@@ -19,7 +34,9 @@ OBJS = mlt_frame.o \
           mlt_factory.o \
           mlt_repository.o \
           mlt_pool.o \
-          mlt_tokeniser.o
+          mlt_tokeniser.o \
+          mlt_profile.o \
+          mlt_log.o
 
 INCS = mlt_consumer.h \
           mlt_factory.h \
@@ -29,43 +46,61 @@ INCS = mlt_consumer.h \
           mlt_pool.h \
           mlt_properties.h \
           mlt_events.h \
+          mlt_parser.h \
           mlt_repository.h \
           mlt_tractor.h \
           mlt_types.h \
           mlt_deque.h \
           mlt_field.h \
           mlt_frame.h \
+          mlt_geometry.h \
           mlt_playlist.h \
           mlt_producer.h \
           mlt_property.h \
           mlt_service.h  \
           mlt_transition.h \
-          mlt_tokeniser.h
+          mlt_tokeniser.h \
+          mlt_profile.h \
+          mlt_log.h
 
 SRCS := $(OBJS:.o=.c)
 
-CFLAGS += -rdynamic -DPREFIX="\"$(prefix)\""
+CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\""
 
 LDFLAGS += -lm $(LIBDL) -lpthread
 
 all:   $(TARGET)
 
 $(TARGET): $(OBJS)
-               $(CC) -shared -o $@ $(OBJS) $(LDFLAGS)
+               $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
+               ln -sf $(TARGET) $(NAME)
+               ln -sf $(TARGET) $(SONAME)
 
 depend:        $(SRCS)
-               $(CC) -MM $(CFLAGS) $^ 1>.depend
+       $(CC) -MM $(CFLAGS) $^ 1>.depend
 
-dist-clean:    clean
+distclean:     clean
                rm -f .depend
 
 clean: 
-               rm -f $(OBJS) $(TARGET)
+               rm -f $(OBJS) $(TARGET) $(NAME)
 
 install:
-       install -m 755 $(TARGET) $(prefix)/lib/libmlt.so
-       install -d "$(prefix)/include/mlt/framework"
-       install -m 644 $(INCS) "$(prefix)/include/mlt/framework"
+       install -d $(DESTDIR)$(libdir)
+       install -m 755 $(TARGET) $(DESTDIR)$(libdir)
+       ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
+       ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
+       install -d "$(DESTDIR)$(prefix)/include/mlt/framework"
+       install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework"
+       install -d "$(DESTDIR)$(prefix)/share/mlt"
+       install -m 644 metaschema.yaml "$(DESTDIR)$(prefix)/share/mlt/"
+
+uninstall:
+       rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
+       rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
+       rm -f "$(DESTDIR)$(libdir)/$(NAME)"
+       rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework"
+       rm "$(DESTDIR)$(prefix)/share/mlt/metaschema.yaml"
 
 ifneq ($(wildcard .depend),)
 include .depend