+ Fix for Darwin and soname logic
[melted] / mlt++ / src / Makefile
index 79601d6..eb7e69e 100644 (file)
@@ -1,45 +1,57 @@
 include ../config.mak
-CXXFLAGS = -Wall -fPIC -DPIC -pthread `mlt-config --cflags`
-LDFLAGS = `mlt-config --libs` `mlt-config miracle --libs`
 INSTALL = install
 
-TARGET = libmlt++.so
+ifneq ($(targetos), Darwin)
+NAME = libmlt++$(LIBSUF)
+TARGET = $(NAME).$(version)
+LIBFLAGS += -Wl,-soname,$(TARGET)
+else
+NAME = libmlt++$(LIBSUF)
+TARGET = libmlt++.$(version)$(LIBSUF)
+LIBFLAGS += -install_name $(libdir)/$(TARGET)
+endif
 
 OBJS = MltConsumer.o \
+          MltDeque.o \
           MltEvent.o \
           MltFactory.o \
           MltField.o \
           MltFilter.o \
           MltFilteredConsumer.o \
           MltFrame.o \
+          MltGeometry.o \
           MltMiracle.o \
           MltMultitrack.o \
           MltParser.o \
           MltPlaylist.o \
           MltProducer.o \
           MltProperties.o \
+          MltPushConsumer.o \
           MltResponse.o \
           MltService.o \
+          MltTokeniser.o \
           MltTractor.o \
           MltTransition.o
 
 SRCS = $(OBJS:.o=.cpp)
-
 HEADERS = Mlt.h $(OBJS:.o=.h)
 
-CC=g++
-
 all:           $(TARGET)
 
 $(TARGET):     $(OBJS)
-       $(CC) -shared -o $@ $(OBJS) $(LDFLAGS)
+       $(CXX) $(LIBFLAGS) -o $@ $(OBJS) $(LDFLAGS)
+       ln -sf $(TARGET) $(NAME)
 
 clean:
-       $(RM) $(OBJS) $(TARGET)
+       $(RM) $(OBJS) $(TARGET) $(NAME)
+
+distclean:     clean
 
 install:
-       $(INSTALL) -m 755 $(TARGET) $(prefix)/lib
-       $(INSTALL) -d "$(prefix)/include/mlt++"
-       $(INSTALL) -m 644 $(HEADERS) "$(prefix)/include/mlt++"
+       $(INSTALL) -d "$(DESTDIR)$(libdir)"
+       $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir)
+       ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
+       $(INSTALL) -d "$(DESTDIR)$(prefix)/include/mlt++"
+       $(INSTALL) -m 644 $(HEADERS) "$(DESTDIR)$(prefix)/include/mlt++"
        /sbin/ldconfig || true