forked from bmc0/dsp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GNUmakefile
125 lines (103 loc) · 3.74 KB
/
GNUmakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
STATIC_DEPS := config.mk
OBJDIR := obj
DSP_OBJDIR := ${OBJDIR}/dsp
LADSPA_DSP_OBJDIR := ${OBJDIR}/ladspa_dsp
DSP_OBJ := dsp.o \
effect.o \
codec.o \
sampleconv.o \
util.o \
biquad.o \
gain.o \
crossfeed.o \
matrix4.o \
remix.o \
st2ms.o \
delay.o \
decorrelate.o \
noise.o \
stats.o \
null.o \
sgen.o \
pcm.o
DSP_CPP_OBJ :=
LADSPA_DSP_OBJ := ladspa_dsp.o \
effect.o \
util.o \
biquad.o \
gain.o \
crossfeed.o \
matrix4.o \
remix.o \
st2ms.o \
delay.o \
decorrelate.o \
noise.o \
stats.o
LADSPA_DSP_CPP_OBJ :=
BASE_CFLAGS := -Os -Wall -std=gnu99
BASE_CXXFLAGS := -Os -Wall -std=gnu++11
BASE_LDFLAGS :=
BASE_LIBS := -lm
include config.mk
DEPFLAGS := -MMD -MP
DSP_CFLAGS := ${DEPFLAGS} ${BASE_CFLAGS} ${DSP_EXTRA_CFLAGS} ${CFLAGS} ${CPPFLAGS}
DSP_CXXFLAGS := ${DEPFLAGS} ${BASE_CXXFLAGS} ${DSP_EXTRA_CFLAGS} ${CXXFLAGS} ${CPPFLAGS}
DSP_LDFLAGS := ${BASE_LDFLAGS} ${LDFLAGS}
DSP_LIBS := ${DSP_EXTRA_LIBS} ${BASE_LIBS}
LADSPA_DSP_CFLAGS := ${DEPFLAGS} ${BASE_CFLAGS} -fPIC -DPIC -DLADSPA_FRONTEND -DSYMMETRIC_IO ${LADSPA_DSP_EXTRA_CFLAGS} ${CFLAGS} ${CPPFLAGS}
LADSPA_DSP_CXXFLAGS := ${DEPFLAGS} ${BASE_CXXFLAGS} -fPIC -DPIC -DLADSPA_FRONTEND -DSYMMETRIC_IO ${LADSPA_DSP_EXTRA_CFLAGS} ${CXXFLAGS} ${CPPFLAGS}
LADSPA_DSP_LDFLAGS := ${BASE_LDFLAGS} -shared -fPIC ${LDFLAGS}
LADSPA_DSP_LIBS := ${LADSPA_DSP_EXTRA_LIBS} ${BASE_LIBS} -lc
DSP_OBJ := ${addprefix ${DSP_OBJDIR}/,${DSP_OBJ}}
DSP_CPP_OBJ := ${addprefix ${DSP_OBJDIR}/,${DSP_CPP_OBJ}}
DSP_DEPFILES := ${patsubst %.o,%.d,${DSP_OBJ} ${DSP_CPP_OBJ}}
LADSPA_DSP_OBJ := ${addprefix ${LADSPA_DSP_OBJDIR}/,${LADSPA_DSP_OBJ}}
LADSPA_DSP_CPP_OBJ := ${addprefix ${LADSPA_DSP_OBJDIR}/,${LADSPA_DSP_CPP_OBJ}}
LADSPA_DSP_DEPFILES := ${patsubst %.o,%.d,${LADSPA_DSP_OBJ} ${LADSPA_DSP_CPP_OBJ}}
ladspa_dsp: ladspa_dsp.so
config.mk: configure
./configure
${DSP_OBJDIR} ${LADSPA_DSP_OBJDIR}:
mkdir -p $@
${DSP_OBJ}: ${DSP_OBJDIR}/%.o: %.c ${STATIC_DEPS} | ${DSP_OBJDIR}
${CC} -c -o $@ ${DSP_CFLAGS} $<
${DSP_CPP_OBJ}: ${DSP_OBJDIR}/%.o: %.cpp ${STATIC_DEPS} | ${DSP_OBJDIR}
${CXX} -c -o $@ ${DSP_CXXFLAGS} $<
${LADSPA_DSP_OBJ}: ${LADSPA_DSP_OBJDIR}/%.o: %.c ${STATIC_DEPS} | ${LADSPA_DSP_OBJDIR}
${CC} -c -o $@ ${LADSPA_DSP_CFLAGS} $<
${LADSPA_DSP_CPP_OBJ}: ${LADSPA_DSP_OBJDIR}/%.o: %.cpp ${STATIC_DEPS} | ${LADSPA_DSP_OBJDIR}
${CXX} -c -o $@ ${LADSPA_DSP_CXXFLAGS} $<
ifdef DSP_CPP_OBJ
dsp: ${DSP_OBJ} ${DSP_CPP_OBJ}
${CXX} -o $@ ${DSP_LDFLAGS} ${DSP_OBJ} ${DSP_CPP_OBJ} ${DSP_LIBS}
else
dsp: ${DSP_OBJ}
${CC} -o $@ ${DSP_LDFLAGS} ${DSP_OBJ} ${DSP_LIBS}
endif
ifdef LADSPA_DSP_CPP_OBJ
ladspa_dsp.so: ${LADSPA_DSP_OBJ} ${LADSPA_DSP_CPP_OBJ}
${CXX} -o $@ ${LADSPA_DSP_LDFLAGS} ${LADSPA_DSP_OBJ} ${LADSPA_DSP_CPP_OBJ} ${LADSPA_DSP_LIBS}
else
ladspa_dsp.so: ${LADSPA_DSP_OBJ}
${CC} -o $@ ${LADSPA_DSP_LDFLAGS} ${LADSPA_DSP_OBJ} ${LADSPA_DSP_LIBS}
endif
install_dsp: dsp
install -Dm755 dsp ${DESTDIR}${PREFIX}${BINDIR}/dsp
uninstall_dsp:
rm -f ${DESTDIR}${PREFIX}${BINDIR}/dsp
install_ladspa_dsp: ladspa_dsp.so
install -Dm755 ladspa_dsp.so ${DESTDIR}${PREFIX}${LIBDIR}/ladspa/ladspa_dsp.so
uninstall_ladspa_dsp:
rm -f ${DESTDIR}${PREFIX}${LIBDIR}/ladspa/ladspa_dsp.so
install_manual:
install -Dm644 dsp.1 ${DESTDIR}${PREFIX}${DATADIR}${MANDIR}/man1/dsp.1
uninstall_manual:
rm -f ${DESTDIR}${PREFIX}${DATADIR}${MANDIR}/man1/dsp.1
clean:
rm -f dsp ladspa_dsp.so ${DSP_OBJ} ${DSP_CPP_OBJ} ${DSP_DEPFILES} ${LADSPA_DSP_OBJ} ${LADSPA_DSP_CPP_OBJ} ${LADSPA_DSP_DEPFILES}
distclean: clean
rm -f config.mk
rm -rf ${OBJDIR}
.PHONY: all install uninstall ladspa_dsp install_dsp uninstall_dsp install_ladspa_dsp uninstall_ladspa_dsp install_manual uninstall_manual clean distclean
-include ${DSP_DEPFILES} ${LADSPA_DSP_DEPFILES}