Merge mlt++/CUSTOMISING into docs/melted++.
[melted] / mlt++ / src / Makefile
1 include ../config.mak
2 INSTALL = install
3
4 ifneq ($(targetos), Darwin)
5 NAME = libmlt++$(LIBSUF)
6 TARGET = $(NAME).$(version)
7 SONAME = $(NAME).$(soversion)
8 LIBFLAGS += -Wl,-soname,$(SONAME)
9 else
10 NAME = libmlt++$(LIBSUF)
11 TARGET = libmlt++.$(version)$(LIBSUF)
12 SONAME = libmlt++.$(soversion)$(LIBSUF)
13 LIBFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
14 endif
15
16 OBJS = MltConsumer.o \
17 MltDeque.o \
18 MltEvent.o \
19 MltFactory.o \
20 MltField.o \
21 MltFilter.o \
22 MltFilteredConsumer.o \
23 MltFrame.o \
24 MltGeometry.o \
25 MltMiracle.o \
26 MltMultitrack.o \
27 MltParser.o \
28 MltPlaylist.o \
29 MltProducer.o \
30 MltProfile.o \
31 MltProperties.o \
32 MltPushConsumer.o \
33 MltRepository.o \
34 MltResponse.o \
35 MltService.o \
36 MltTokeniser.o \
37 MltTractor.o \
38 MltTransition.o
39
40 SRCS = $(OBJS:.o=.cpp)
41 HEADERS = config.h Mlt.h $(OBJS:.o=.h)
42
43 all: $(TARGET)
44
45 $(TARGET): $(OBJS)
46 $(CXX) $(LIBFLAGS) -o $@ $(OBJS) $(LDFLAGS)
47 ln -sf $(TARGET) $(NAME)
48 ln -sf $(TARGET) $(SONAME)
49
50 clean:
51 $(RM) $(OBJS) $(TARGET) $(NAME)
52
53 distclean: clean
54
55 install:
56 $(INSTALL) -d "$(DESTDIR)$(libdir)"
57 $(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(libdir)
58 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
59 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
60 $(INSTALL) -d "$(DESTDIR)$(prefix)/include/mlt++"
61 $(INSTALL) -m 644 $(HEADERS) "$(DESTDIR)$(prefix)/include/mlt++"
62 /sbin/ldconfig 2> /dev/null || true
63
64 uninstall:
65 rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
66 rm -f "$(DESTDIR)$(libdir)/$(NAME)"
67 rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
68 rm -rf "$(DESTDIR)$(prefix)/include/mlt++"