X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2FMakefile;h=9112ff16e94a173487b8323ebb55cabf5dd48f68;hb=51f99c29759e71318c4c575f8a68cf1b5d1c5137;hp=00cc60509ed8caf3ba243030662d458ca9cbfb68;hpb=f2dda0fcd1c242afcd07f2c2ef98f8f6b3fb0e13;p=melted diff --git a/src/framework/Makefile b/src/framework/Makefile index 00cc605..9112ff1 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -1,11 +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 \ @@ -17,55 +33,74 @@ OBJS = mlt_frame.o \ mlt_tractor.o \ mlt_factory.o \ mlt_repository.o \ - mlt_pool.o + mlt_pool.o \ + mlt_tokeniser.o \ + mlt_profile.o \ + mlt_log.o -SRCS := $(OBJS:.o=.c) +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 -CFLAGS = -g -O4 -pipe -ffast-math -fomit-frame-pointer -Wall -D_FILE_OFFSET_BITS=64 -pthread -DPREFIX="\"$(prefix)\"" +SRCS := $(OBJS:.o=.c) -LDFLAGS = -lm -ldl -lpthread +CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -ifeq ($(MLT_GPROF),true) -CFLAGS+=-p -LDFLAGS+=-p -endif +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 - mkdir -p "$(prefix)/include/mlt/framework" - install -m 644 mlt_consumer.h \ - mlt_factory.h \ - mlt_filter.h \ - mlt.h \ - mlt_multitrack.h \ - mlt_pool.h \ - mlt_properties.h \ - mlt_repository.h \ - mlt_tractor.h \ - mlt_types.h \ - mlt_deque.h \ - mlt_field.h \ - mlt_frame.h \ - mlt_playlist.h \ - mlt_producer.h \ - mlt_property.h \ - mlt_service.h \ - mlt_transition.h \ - "$(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