1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = include
4AM_CPPFLAGS = -I$(ladspa_prefix)/include -Iinclude -I. \
5              -DLOCALEDIR=\"$(datadir)/locale\"
6LINK = $(COMPILE) -nostartfiles -shared -lc -o $@
7CLEANFILES = parabola_1649_data.so.c \
8             sawtooth_1641_data.so.c \
9             square_1643_data.so.c
10MAINTAINERCLEANFILES = Makefile.in
11
12## These are really libs, eh? I have yet to try libtool.
13pkgbin_PROGRAMS = adsr_1653.so adsr_1680.so amp_1654.so branch_1673.so \
14                  dahdsr_2021.so difference_2030.so fmod_1656.so \
15                  interpolator_1660.so lp4pole_1671.so \
16                  product_1668.so pulse_1645.so quantiser20_2027.so \
17                  quantiser50_2028.so quantiser100_2029.so random_1661.so \
18                  ratio_2034.so sawtooth_1641.so sequencer64_1675.so \
19                  sequencer32_1676.so sequencer16_1677.so square_1643.so \
20                  sum_1665.so sync_pulse_2023.so sync_square_1678.so \
21                  tracker_2025.so triangle_1649.so
22
23wavedata_PROGRAMS = sawtooth_1641_data.so \
24                    square_1643_data.so \
25                    parabola_1649_data.so
26nodist_sawtooth_1641_data_so_SOURCES = sawtooth_1641_data.so.c
27nodist_square_1643_data_so_SOURCES = square_1643_data.so.c
28nodist_parabola_1649_data_so_SOURCES = parabola_1649_data.so.c
29
30pkgbindir = $(ladspa_plugin_dir)
31wavedatadir = $(ladspa_plugin_dir)/$(wavedata_subdir)
32
33noinst_PROGRAMS = wavegen
34wavegen_SOURCES = wavegen.c wdatutil.c
35wavegen_DEPENDENCIES = include/wdatutil.h include/common.h
36wavegen_LINK = $(COMPILE) -lc -lm -o $@
37
38## Need to specify sources so that make dist will include them
39lp4pole_1671_so_SOURCES = lp4pole_1671.so.c lp4pole_filter.c
40pulse_1645_so_SOURCES = pulse_1645.so.c wavedata.c
41quantiser20_2027_so_SOURCES = quantiser.so.c
42quantiser50_2028_so_SOURCES = quantiser.so.c
43quantiser100_2029_so_SOURCES = quantiser.so.c
44sawtooth_1641_so_SOURCES = sawtooth_1641.so.c wavedata.c
45sequencer64_1675_so_SOURCES = sequencer.so.c
46sequencer32_1676_so_SOURCES = sequencer.so.c
47sequencer16_1677_so_SOURCES = sequencer.so.c
48square_1643_so_SOURCES = square_1643.so.c wavedata.c
49triangle_1649_so_SOURCES = triangle_1649.so.c wavedata.c
50
51adsr_1653_so_DEPENDENCIES = include/common.h
52adsr_1680_so_DEPENDENCIES = include/common.h
53amp_1654_so_DEPENDENCIES = include/math_func.h
54dahdsr_2021_so_DEPENDENCIES = include/common.h
55fmod_1656_so_DEPENDENCIES = include/math_func.h
56lp4pole_1671_so_DEPENDENCIES = include/lp4pole_filter.h include/common.h
57pulse_1645_so_DEPENDENCIES = include/wavedata.h
58quantiser20_2027_so_DEPENDENCIES = include/common.h include/math_func.h
59quantiser50_2028_so_DEPENDENCIES = include/common.h include/math_func.h
60quantiser100_2029_so_DEPENDENCIES = include/common.h include/math_func.h
61random_1661_so_DEPENDENCIES = include/common.h include/math_func.h
62ratio_2034_so_DEPENDENCIES = include/common.h include/math_func.h
63sawtooth_1641_so_DEPENDENCIES = include/wavedata.h
64sequencer16_1677_so_DEPENDENCIES = include/common.h include/math_func.h
65sequencer32_1676_so_DEPENDENCIES = include/common.h include/math_func.h
66sequencer64_1675_so_DEPENDENCIES = include/common.h include/math_func.h
67square_1643_so_DEPENDENCIES = include/wavedata.h
68sync_pulse_2023_so_DEPENDENCIES = include/common.h
69tracker_2025_so_DEPENDENCIES = include/common.h
70triangle_1649_so_DEPENDENCIES = include/wavedata.h
71
72clean:
73	rm -f *.so *.so.o
74
75wavedata.o: wavedata.c include/wavedata.h include/interpolate.h \
76                       include/math_func.h include/common.h
77	$(COMPILE) -DWAVEDATA_SUBDIR=\"$(wavedata_subdir)\" -c wavedata.c
78
79sequencer64_1675.so$(EXEEXT): sequencer.so.c
80	$(LINK) -DSEQUENCER_MAX_INPUTS=64 -DSEQUENCER_BASE_ID=1675 sequencer.so.c
81
82sequencer32_1676.so$(EXEEXT): sequencer.so.c
83	$(LINK) -DSEQUENCER_MAX_INPUTS=32 -DSEQUENCER_BASE_ID=1676 sequencer.so.c
84
85sequencer16_1677.so$(EXEEXT): sequencer.so.c
86	$(LINK) -DSEQUENCER_MAX_INPUTS=16 -DSEQUENCER_BASE_ID=1677 sequencer.so.c
87
88## Remove optimisation, as -O1 or greater will cause quantiser to fail. I Don't Know Why.
89quantiser20_2027.so$(EXEEXT): quantiser.so.c
90	$(LINK) -O0 -DQUANTISER_MAX_INPUTS=20 -DQUANTISER_BASE_ID=2027 -lm quantiser.so.c
91
92quantiser50_2028.so$(EXEEXT): quantiser.so.c
93	$(LINK) -O0 -DQUANTISER_MAX_INPUTS=50 -DQUANTISER_BASE_ID=2028 -lm quantiser.so.c
94
95quantiser100_2029.so$(EXEEXT): quantiser.so.c
96	$(LINK) -O0 -DQUANTISER_MAX_INPUTS=100 -DQUANTISER_BASE_ID=2029 -lm quantiser.so.c
97
98parabola_1649_data.so.c: wavegen
99	./wavegen -r $(sample_rate) -f $(first_note) -s $(note_step) \
100          -m $(min_table_size) -g $(gibbs) \
101          -w parabola -p parabola -o parabola_1649_data.so.c
102
103sawtooth_1641_data.so.c: wavegen
104	./wavegen -r $(sample_rate) -f $(first_note) -s $(note_step) \
105          -m $(min_table_size) -g $(gibbs) \
106          -w saw -p sawtooth -o sawtooth_1641_data.so.c
107
108square_1643_data.so.c: wavegen
109	./wavegen -r $(sample_rate) -f $(first_note) -s $(note_step) \
110          -m $(min_table_size) -g $(gibbs) \
111          -w square -p square -o square_1643_data.so.c
112