]> git.sesse.net Git - mlt/blobdiff - src/mlt++/Makefile
Propogate service-changed event to cut producer's parent.
[mlt] / src / mlt++ / Makefile
index efaa9a1b2e476b349e87fb23c21f497f783daf1b..f4746e255478d13e4118c25ef99e99968fff69ac 100644 (file)
@@ -10,7 +10,8 @@ LIBFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compa
 else ifeq ($(targetos), MinGW)
 NAME = libmlt++$(LIBSUF)
 TARGET = libmlt++-$(soversion)$(LIBSUF)
-libdir = $(prefix)
+CXXFLAGS += -DMLTPP_EXPORTS
+LIBFLAGS += -Wl,--output-def,libmlt++.def
 else
 NAME = libmlt++$(LIBSUF)
 TARGET = $(NAME).$(version)
@@ -18,9 +19,12 @@ 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 \
@@ -67,10 +71,14 @@ distclean:  clean
 
 install:
        $(INSTALL) -d "$(DESTDIR)$(libdir)"
-       $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir)
-       if [ "$(targetos)" != "MinGW" ]; then \
-               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++"
        $(INSTALL) -m 644 $(HEADERS) "$(DESTDIR)$(prefix)/include/mlt++"