X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fframework%2FMakefile;h=004d3e5ad21f05f5f56cd42ecf8d769b7761e1a3;hb=8203eb49d6707a70333873bada42712f06eb33fb;hp=bc6fdcfc5b851fbaccccc226d8333fe008de9954;hpb=64f9aa2d35148116826be20b153a4231e6829243;p=mlt diff --git a/src/framework/Makefile b/src/framework/Makefile index bc6fdcfc..004d3e5a 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -1,8 +1,26 @@ include ../../config.mak -TARGET = libmlt$(LIBSUF) +NAME = libmlt$(LIBSUF) +TARGET = $(NAME).$(version) + +ifeq ($(targetos), Darwin) +NAME = libmlt$(LIBSUF) +TARGET = libmlt.$(version)$(LIBSUF) +SONAME = libmlt.$(soversion)$(LIBSUF) +SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion) +else ifeq ($(targetos), MinGW) +NAME = libmlt$(LIBSUF) +TARGET = libmlt-$(soversion)$(LIBSUF) +SHFLAGS += -Wl,--output-def,libmlt.def +else +NAME = libmlt$(LIBSUF) +TARGET = $(NAME).$(version) +SONAME = $(NAME).$(soversion) +SHFLAGS += -Wl,-soname,$(SONAME) +endif OBJS = mlt_frame.o \ + mlt_version.o \ mlt_geometry.o \ mlt_deque.o \ mlt_property.o \ @@ -21,9 +39,13 @@ 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 \ + mlt_cache.o INCS = mlt_consumer.h \ + mlt_version.h \ mlt_factory.h \ mlt_filter.h \ mlt.h \ @@ -44,33 +66,64 @@ INCS = mlt_consumer.h \ mlt_property.h \ mlt_service.h \ mlt_transition.h \ - mlt_tokeniser.h + mlt_tokeniser.h \ + mlt_profile.h \ + mlt_log.h \ + mlt_cache.h SRCS := $(OBJS:.o=.c) -CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" +ifeq ($(targetos), MinGW) +OBJS += ../win32/win32.o +SRCS += ../win32/win32.c +endif -LDFLAGS += -lm $(LIBDL) -lpthread +CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -DMLTDATADIR="\"$(datadir)\"" + +LDFLAGS += $(LIBDL) -lpthread all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS) + ln -sf $(TARGET) $(NAME) + if [ "$(targetos)" != "MinGW" ]; then \ + ln -sf $(TARGET) $(SONAME) ; \ + fi 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) $(SONAME) install: install -d $(DESTDIR)$(libdir) - install -m 755 $(TARGET) $(DESTDIR)$(libdir)/libmlt$(LIBSUF) + if [ "$(targetos)" = "MinGW" ]; then \ + install -m 755 $(TARGET) $(DESTDIR)$(prefix) ; \ + install -m 755 $(TARGET) $(DESTDIR)$(libdir)/libmlt.dll ; \ + install -m 644 libmlt.def $(DESTDIR)$(libdir) ; \ + else \ + install -m 755 $(TARGET) $(DESTDIR)$(libdir) ; \ + ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME) ; \ + ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME) ; \ + fi install -d "$(DESTDIR)$(prefix)/include/mlt/framework" install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework" + install -d "$(DESTDIR)$(datadir)/mlt" + install -m 644 metaschema.yaml "$(DESTDIR)$(datadir)/mlt/" + +uninstall: + rm -f "$(DESTDIR)$(libdir)/$(TARGET)" + if [ "$(targetos)" != "MinGW" ]; then \ + rm -f "$(DESTDIR)$(libdir)/$(SONAME)" ; \ + rm -f "$(DESTDIR)$(libdir)/$(NAME)" ; \ + fi + rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework" + rm -f "$(DESTDIR)$(datadir)/mlt/metaschema.yaml" ifneq ($(wildcard .depend),) include .depend