1
include Makefile.conf
2
3
override CFLAGS += -std=c99 -D_GNU_SOURCE -DGST_DISABLE_DEPRECATED
4
override CFLAGS += -DDSP_API=$(DSP_API) -DSN_API=$(SN_API)
5
6
all:
7
8
version := $(shell ./get-version)
9
10
D = $(DESTDIR)
11
12
tidsp.a: tidsp/td_mp4vdec.o tidsp/td_h264dec.o tidsp/td_wmvdec.o \
13
	tidsp/td_jpegdec.o \
14
	tidsp/td_mp4venc.o tidsp/td_jpegenc.o tidsp/td_h264enc.o \
15
	tidsp/td_vpp.o tidsp/td_aacdec.o
16
tidsp.a: override CFLAGS += -I.
17
18
# plugin
19
20
gst_plugin := libgstdsp.so
21
22
$(gst_plugin): plugin.o gstdspbuffer.o gstdspdummy.o gstdspbase.o gstdspvdec.o \
23
	gstdspvenc.o gstdsph263enc.o gstdspmp4venc.o gstdspjpegenc.o \
24
	dsp_bridge.o util.o log.o gstdspparse.o async_queue.o gstdsph264enc.o \
25
	gstdspvpp.o gstdspadec.o gstdspipp.o \
26
	tidsp.a
27
$(gst_plugin): override CFLAGS += $(GST_CFLAGS) \
28
	-D VERSION='"$(version)"' -D DSPDIR='"$(dspdir)"'
29
$(gst_plugin): override LIBS += $(GST_LIBS)
30
31
targets += $(gst_plugin)
32
33
gst-dsp-parse: parse-test.o gstdspbuffer.o gstdspparse.o gstdspvdec.o \
34
	gstdspbase.o util.o dsp_bridge.o async_queue.o log.o \
35
	tidsp.a
36
gst-dsp-parse: override CFLAGS += $(GST_CFLAGS) -D DSPDIR='"$(dspdir)"'
37
gst-dsp-parse: override LIBS += $(GST_LIBS)
38
bins += gst-dsp-parse
39
40
doc: $(gst_plugin)
41
	$(MAKE) -C doc
42
43
doc-install: doc
44
	$(MAKE) -C doc install
45
46
all: $(targets) $(bins)
47
48
# pretty print
49
ifndef V
50
QUIET_CC    = @echo '   CC         '$@;
51
QUIET_LINK  = @echo '   LINK       '$@;
52
QUIET_CLEAN = @echo '   CLEAN      '$@;
53
endif
54
55
.PHONY: doc doc-install
56
57
%.so: override CFLAGS += -fPIC
58
59
install: $(targets) $(bins)
60
	install -m 755 -D libgstdsp.so $(D)$(prefix)/lib/gstreamer-0.10/libgstdsp.so
61
	install -m 755 -D gst-dsp-parse $(D)$(prefix)/bin/gst-dsp-parse
62
63
%.o:: %.c
64
	$(QUIET_CC)$(CC) $(CFLAGS) -MMD -MP -o $@ -c $<
65
66
$(bins):
67
	$(QUIET_LINK)$(CC) $(LDFLAGS) $^ $(LIBS) -o $@
68
69
%.so::
70
	$(QUIET_LINK)$(CC) $(LDFLAGS) -shared $^ $(LIBS) -o $@
71
72
%.a::
73
	$(QUIET_LINK)$(AR) rcs $@ $^
74
75
clean:
76
	$(QUIET_CLEAN)$(RM) -v $(targets) $(bins) *.o *.d tidsp/*.d tidsp/*.o
77
78
dist: base := gst-dsp-$(version)
79
dist:
80
	git archive --format=tar --prefix=$(base)/ HEAD > /tmp/$(base).tar
81
	mkdir -p $(base)
82
	echo $(version) > $(base)/.version
83
	chmod 664 $(base)/.version
84
	tar --append -f /tmp/$(base).tar --owner root --group root $(base)/.version
85
	rm -r $(base)
86
	gzip /tmp/$(base).tar
87
88
-include *.d tidsp/*.d