X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fframework%2FMakefile;h=2c3eac9d5804e7b7a70640ce0a74e0669b70421c;hb=cfa126d75a26e7a9e793134b7f1ccf9d2be9ee82;hp=0c61cee035bf86d04483a77a2808246b673dace0;hpb=20eb47f7c215ddec35eb27060ff3116ab8a921fb;p=mlt diff --git a/src/framework/Makefile b/src/framework/Makefile index 0c61cee0..2c3eac9d 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -1,18 +1,27 @@ 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 \ @@ -38,7 +47,8 @@ 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 \ @@ -65,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 @@ -91,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