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 \
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
$(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
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