X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2FMakefile;h=9112ff16e94a173487b8323ebb55cabf5dd48f68;hb=51f99c29759e71318c4c575f8a68cf1b5d1c5137;hp=d01ee34749f54d0f98e649b32e3279f32fe1a044;hpb=fdff32bbd09ff13df3a3a12896690a4950b7d0d0;p=melted diff --git a/src/framework/Makefile b/src/framework/Makefile index d01ee34..9112ff1 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -1,40 +1,106 @@ +include ../../config.mak -FRAMEWORK_OBJS = mlt_frame.o \ - mlt_property.o \ - mlt_properties.o \ - mlt_service.o \ - mlt_producer.o \ - mlt_multitrack.o \ - mlt_playlist.o \ - mlt_consumer.o \ - mlt_filter.o \ - mlt_transition.o \ - mlt_field.o \ - mlt_tractor.o \ - mlt_factory.o \ - mlt_repository.o - -OBJS = $(FRAMEWORK_OBJS) +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 \ + mlt_playlist.o \ + mlt_consumer.o \ + mlt_filter.o \ + mlt_transition.o \ + mlt_field.o \ + mlt_tractor.o \ + mlt_factory.o \ + mlt_repository.o \ + mlt_pool.o \ + mlt_tokeniser.o \ + mlt_profile.o \ + mlt_log.o + +INCS = mlt_consumer.h \ + mlt_factory.h \ + mlt_filter.h \ + mlt.h \ + mlt_multitrack.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_profile.h \ + mlt_log.h SRCS := $(OBJS:.o=.c) -CFLAGS = -g -Wall -D_FILE_OFFSET_BITS=64 -pthread +CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -LDFLAGS = -lm -ldl -lpthread +LDFLAGS += -lm $(LIBDL) -lpthread -all: libmlt.so +all: $(TARGET) -libmlt.so: $(OBJS) - $(CC) -shared -o $@ $(OBJS) $(LDFLAGS) +$(TARGET): $(OBJS) + $(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 $(FRAMEWORK_OBJS) libmlt.so + rm -f $(OBJS) $(TARGET) $(NAME) + +install: + 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