e42331996a5e8204d3f21a88e2ec5747df0677c9
[melted] / src / framework / Makefile
1 include ../../config.mak
2
3 NAME = libmlt$(LIBSUF)
4 TARGET = $(NAME).$(version)
5
6 ifneq ($(targetos), Darwin)
7 NAME = libmlt$(LIBSUF)
8 TARGET = $(NAME).$(version)
9 SONAME = $(NAME).$(soversion)
10 SHFLAGS += -Wl,-soname,$(SONAME)
11 else
12 NAME = libmlt$(LIBSUF)
13 TARGET = libmlt.$(version)$(LIBSUF)
14 SONAME = libmlt.$(soversion)$(LIBSUF)
15 SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
16 endif
17
18 OBJS = mlt_frame.o \
19 mlt_geometry.o \
20 mlt_deque.o \
21 mlt_property.o \
22 mlt_properties.o \
23 mlt_events.o \
24 mlt_parser.o \
25 mlt_service.o \
26 mlt_producer.o \
27 mlt_multitrack.o \
28 mlt_playlist.o \
29 mlt_consumer.o \
30 mlt_filter.o \
31 mlt_transition.o \
32 mlt_field.o \
33 mlt_tractor.o \
34 mlt_factory.o \
35 mlt_repository.o \
36 mlt_pool.o \
37 mlt_tokeniser.o \
38 mlt_profile.o
39
40 INCS = mlt_consumer.h \
41 mlt_factory.h \
42 mlt_filter.h \
43 mlt.h \
44 mlt_multitrack.h \
45 mlt_pool.h \
46 mlt_properties.h \
47 mlt_events.h \
48 mlt_parser.h \
49 mlt_repository.h \
50 mlt_tractor.h \
51 mlt_types.h \
52 mlt_deque.h \
53 mlt_field.h \
54 mlt_frame.h \
55 mlt_geometry.h \
56 mlt_playlist.h \
57 mlt_producer.h \
58 mlt_property.h \
59 mlt_service.h \
60 mlt_transition.h \
61 mlt_tokeniser.h \
62 mlt_profile.h
63
64 SRCS := $(OBJS:.o=.c)
65
66 CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\""
67
68 LDFLAGS += -lm $(LIBDL) -lpthread
69
70 all: $(TARGET)
71
72 $(TARGET): $(OBJS)
73 $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
74 ln -sf $(TARGET) $(NAME)
75 ln -sf $(TARGET) $(SONAME)
76
77 depend: $(SRCS)
78 $(CC) -MM $(CFLAGS) $^ 1>.depend
79
80 distclean: clean
81 rm -f .depend
82
83 clean:
84 rm -f $(OBJS) $(TARGET) $(NAME)
85
86 install:
87 install -d $(DESTDIR)$(libdir)
88 install -m 755 $(TARGET) $(DESTDIR)$(libdir)
89 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
90 ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
91 install -d "$(DESTDIR)$(prefix)/include/mlt/framework"
92 install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework"
93 install -d "$(DESTDIR)$(prefix)/share/mlt"
94 install -m 644 metaschema.yaml "$(DESTDIR)$(prefix)/share/mlt/"
95
96 uninstall:
97 rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
98 rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
99 rm -f "$(DESTDIR)$(libdir)/$(NAME)"
100 rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework"
101 rm "$(DESTDIR)$(prefix)/share/mlt/metaschema.yaml"
102
103 ifneq ($(wildcard .depend),)
104 include .depend
105 endif