X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fframework%2FMakefile;h=2c3eac9d5804e7b7a70640ce0a74e0669b70421c;hb=15c48aa98ea595211ff9156c5a5a0b92e788d474;hp=b523e36e16de3aef13f0a5ef14b5bdc61de4c1fb;hpb=b4b1daf82f6d8da343a5606266716de25b94660f;p=mlt diff --git a/src/framework/Makefile b/src/framework/Makefile index b523e36e..2c3eac9d 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -1,21 +1,31 @@ include ../../config.mak +include config.mak NAME = libmlt$(LIBSUF) TARGET = $(NAME).$(version) -ifneq ($(targetos), Darwin) -NAME = libmlt$(LIBSUF) -TARGET = $(NAME).$(version) -SONAME = $(NAME).$(soversion) -SHFLAGS += -Wl,-soname,$(SONAME) -else +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 + +ifeq ($(targetos), Linux) +SHFLAGS += -Wl,--version-script=mlt.vers endif OBJS = mlt_frame.o \ + mlt_version.o \ mlt_geometry.o \ mlt_deque.o \ mlt_property.o \ @@ -37,9 +47,11 @@ OBJS = mlt_frame.o \ mlt_tokeniser.o \ mlt_profile.o \ mlt_log.o \ - mlt_cache.o + mlt_cache.o \ + mlt_animation.o INCS = mlt_consumer.h \ + mlt_version.h \ mlt_factory.h \ mlt_filter.h \ mlt.h \ @@ -63,20 +75,28 @@ INCS = mlt_consumer.h \ mlt_tokeniser.h \ mlt_profile.h \ mlt_log.h \ - mlt_cache.h + mlt_cache.h \ + mlt_animation.h SRCS := $(OBJS:.o=.c) -CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" +ifeq ($(targetos), MinGW) +OBJS += ../win32/win32.o +SRCS += ../win32/win32.c +endif + +CFLAGS += $(RDYNAMIC) -DPREFIX_DATA="\"$(mltdatadir)\"" -DPREFIX_LIB="\"$(moduledir)\"" -LDFLAGS += $(LIBDL) -lpthread +LDFLAGS += $(LIBDL) -lpthread -lm all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS) ln -sf $(TARGET) $(NAME) - ln -sf $(TARGET) $(SONAME) + if [ "$(targetos)" != "MinGW" ]; then \ + ln -sf $(TARGET) $(SONAME) ; \ + fi depend: $(SRCS) $(CC) -MM $(CFLAGS) $^ 1>.depend @@ -89,20 +109,28 @@ clean: install: install -d $(DESTDIR)$(libdir) - install -m 755 $(TARGET) $(DESTDIR)$(libdir) - ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME) - ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME) + 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/" + install -d "$(DESTDIR)$(mltdatadir)" + install -m 644 metaschema.yaml "$(DESTDIR)$(mltdatadir)" uninstall: rm -f "$(DESTDIR)$(libdir)/$(TARGET)" - rm -f "$(DESTDIR)$(libdir)/$(SONAME)" - rm -f "$(DESTDIR)$(libdir)/$(NAME)" + 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" + rm -f "$(DESTDIR)$(mltdatadir)/metaschema.yaml" ifneq ($(wildcard .depend),) include .depend