include config.mak
INSTALL = install
-ifneq ($(targetos), Darwin)
-NAME = libmlt++$(LIBSUF)
-TARGET = $(NAME).$(version)
-SONAME = $(NAME).$(soversion)
-LIBFLAGS += -Wl,-soname,$(SONAME)
-else
+ifeq ($(targetos), Darwin)
NAME = libmlt++$(LIBSUF)
TARGET = libmlt++.$(version)$(LIBSUF)
SONAME = libmlt++.$(soversion)$(LIBSUF)
LIBFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
+else ifeq ($(targetos), MinGW)
+NAME = libmlt++$(LIBSUF)
+TARGET = libmlt++-$(soversion)$(LIBSUF)
+CXXFLAGS += -DMLTPP_EXPORTS
+LIBFLAGS += -Wl,--output-def,libmlt++.def
+else
+NAME = libmlt++$(LIBSUF)
+TARGET = $(NAME).$(version)
+SONAME = $(NAME).$(soversion)
+LIBFLAGS += -Wl,-soname,$(SONAME)
endif
-CXXFLAGS += -I.. $(RDYNAMIC) -DVERSION=\"$(version)\"
+CXXFLAGS += -I.. $(RDYNAMIC) -DVERSION=\"$(version)\" -fvisibility=hidden
LDFLAGS += -L../framework -lmlt
+ifeq ($(targetos), Linux)
+LDFLAGS += -Wl,--version-script=mlt++.vers
+endif
OBJS = MltConsumer.o \
MltDeque.o \
$(TARGET): $(OBJS)
$(CXX) $(LIBFLAGS) -o $@ $(OBJS) $(LDFLAGS)
ln -sf $(TARGET) $(NAME)
- ln -sf $(TARGET) $(SONAME)
+ if [ "$(targetos)" != "MinGW" ]; then \
+ ln -sf $(TARGET) $(SONAME) ; \
+ fi
depend: $(SRCS)
$(CXX) -MM $(CXXFLAGS) $^ 1>.depend
install:
$(INSTALL) -d "$(DESTDIR)$(libdir)"
- $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir)
- ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
- ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
+ 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++"
$(INSTALL) -m 644 $(HEADERS) "$(DESTDIR)$(prefix)/include/mlt++"
uninstall:
rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
- rm -f "$(DESTDIR)$(libdir)/$(NAME)"
- rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
+ if [ "$(targetos)" != "MinGW" ]; then \
+ rm -f "$(DESTDIR)$(libdir)/$(NAME)" ; \
+ rm -f "$(DESTDIR)$(libdir)/$(SONAME)" ; \
+ fi
rm -rf "$(DESTDIR)$(prefix)/include/mlt++"
ifneq ($(wildcard .depend),)