]> git.sesse.net Git - mlt/blob - src/mlt++/Makefile
Add mlt_filter_get_length2.
[mlt] / src / mlt++ / Makefile
1 include ../../config.mak
2 include config.mak
3 INSTALL = install
4
5 ifeq ($(targetos), Darwin)
6 NAME = libmlt++$(LIBSUF)
7 TARGET = libmlt++.$(version)$(LIBSUF)
8 SONAME = libmlt++.$(soversion)$(LIBSUF)
9 LIBFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
10 else ifeq ($(targetos), MinGW)
11 NAME = libmlt++$(LIBSUF)
12 TARGET = libmlt++-$(soversion)$(LIBSUF)
13 CXXFLAGS += -DMLTPP_EXPORTS
14 LIBFLAGS += -Wl,--output-def,libmlt++.def
15 else
16 NAME = libmlt++$(LIBSUF)
17 TARGET = $(NAME).$(version)
18 SONAME = $(NAME).$(soversion)
19 LIBFLAGS += -Wl,-soname,$(SONAME)
20 endif
21
22 CXXFLAGS += -I.. $(RDYNAMIC) -DVERSION=\"$(version)\"
23
24 LDFLAGS += -L../framework -lmlt
25
26 OBJS = MltConsumer.o \
27            MltDeque.o \
28            MltEvent.o \
29            MltFactory.o \
30            MltField.o \
31            MltFilter.o \
32            MltFilteredConsumer.o \
33            MltFilteredProducer.o \
34            MltFrame.o \
35            MltGeometry.o \
36            MltMultitrack.o \
37            MltParser.o \
38            MltPlaylist.o \
39            MltProducer.o \
40            MltProfile.o \
41            MltProperties.o \
42            MltPushConsumer.o \
43            MltRepository.o \
44            MltService.o \
45            MltTokeniser.o \
46            MltTractor.o \
47            MltTransition.o
48
49 SRCS = $(OBJS:.o=.cpp)
50 HEADERS = config.h Mlt.h $(OBJS:.o=.h)
51
52 all:            $(TARGET)
53
54 $(TARGET):      $(OBJS)
55         $(CXX) $(LIBFLAGS) -o $@ $(OBJS) $(LDFLAGS)
56         ln -sf $(TARGET) $(NAME)
57         if [ "$(targetos)" != "MinGW" ]; then \
58                 ln -sf $(TARGET) $(SONAME) ; \
59         fi
60
61 depend: $(SRCS)
62         $(CXX) -MM $(CXXFLAGS) $^ 1>.depend
63
64 clean:
65         $(RM) $(OBJS) $(TARGET) $(NAME) $(SONAME)
66
67 distclean:      clean
68
69 install:
70         $(INSTALL) -d "$(DESTDIR)$(libdir)"
71         if [ "$(targetos)" = "MinGW" ]; then \
72                 $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(prefix) ; \
73                 $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir)/libmlt++.dll ; \
74                 $(INSTALL) -m 644 libmlt++.def $(DESTDIR)$(libdir) ; \
75         else \
76                 $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir) ; \
77                 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME) ; \
78                 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME) ; \
79         fi
80         $(INSTALL) -d "$(DESTDIR)$(prefix)/include/mlt++"
81         $(INSTALL) -m 644 $(HEADERS) "$(DESTDIR)$(prefix)/include/mlt++"
82
83 uninstall:
84         rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
85         if [ "$(targetos)" != "MinGW" ]; then \
86                 rm -f "$(DESTDIR)$(libdir)/$(NAME)" ; \
87                 rm -f "$(DESTDIR)$(libdir)/$(SONAME)" ; \
88         fi
89         rm -rf "$(DESTDIR)$(prefix)/include/mlt++"
90
91 ifneq ($(wildcard .depend),)
92 include .depend
93 endif