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