forked from eberdahl/SaM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
308 lines (242 loc) · 14 KB
/
Makefile
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# Directory containing Faust .lib and .cpp architecture files:
ck1 := /opt/local/lib/faust/music.lib
ck2 := /usr/local/lib/faust/music.lib
ck3 := $(FAUST_LIB_PATH)/faust/music.lib
LIB := $(if $(wildcard $(ck1)),/opt/local/lib,"")
LIB := $(if $(wildcard $(ck2)),/usr/local/lib,$(LIB))
LIB := $(if $(wildcard $(ck3)),$(FAUST_LIB_PATH),$(LIB))
ifeq ($(OSC),1)
OSCCTRL := -DOSCCTRL -I$(LIB)/faust/osclib
QTDEFS := "DEFINES += OSCCTRL"
OSCLIB := -L$(LIB)/faust/osclib -lOSCFaust -loscpack
endif
MYICCFLAGS := '-O3 -xHost -ftz -fno-alias -fp-model fast=2 $(OSCCTRL)'
ifeq ($(system), Darwin)
#MYGCCFLAGS := '-O3 -m32 -march=native -msse -msse2 -msse3 -ffast-math -Wno-extra-tokens -Wno-return-type -Wno-unused-variable $(OSCCTRL)'
MYGCCFLAGS := '-O3 -m32 -march=native -msse -msse2 -msse3 -ffast-math $(OSCCTRL)'
else
#MYGCCFLAGS := '-O3 -msse -msse2 -msse3 -ffast-math -Wno-extra-tokens -Wno-return-type -Wno-unused-variable $(OSCCTRL)'
MYGCCFLAGS := '-O3 -fpermissive -msse -msse2 -msse3 -ffast-math $(OSCCTRL)'
endif
VSIZE := 256
SC_SOURCE_DIR = ../../supercollider
all : jackgtk
test: ijackgtk ijackvec ijackomp gjackgtk gjackvec gjackomp
ijackgtk :
install -d ijackgtkdir
$(MAKE) DEST='ijackgtkdir/' ARCH='jack-gtk.cpp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
ijackvec :
install -d ijackvecdir
$(MAKE) DEST='ijackvecdir/' ARCH='jack-gtk.cpp' VEC='-vec -lv 1 -vs $(VSIZE)' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
ijackomp :
install -d ijackompdir
$(MAKE) DEST='ijackompdir/' ARCH='jack-gtk.cpp' VEC='-vs $(VSIZE) -omp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='icc' CXXFLAGS='-openmp '$(MYICCFLAGS) -f Makefile.compile
ijacksch :
install -d ijackschdir
$(MAKE) DEST='ijackschdir/' ARCH='jack-gtk.cpp' VEC='-sch -vs $(VSIZE)' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
gjackgtk :
install -d gjackgtkdir
$(MAKE) DEST='gjackgtkdir/' ARCH='jack-gtk.cpp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='g++' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.compile
gjackvec :
install -d gjackvecdir
$(MAKE) DEST='gjackvecdir/' ARCH='jack-gtk.cpp' VEC='-vec -lv 1 -vs $(VSIZE)' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='g++' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.compile
gjackomp :
install -d gjackompdir
$(MAKE) DEST='gjackompdir/' ARCH='jack-gtk.cpp' VEC='-vec -vs $(VSIZE) -omp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` -I/usr/local/include' CXX='g++' CXXFLAGS='-fopenmp '$(MYGCCFLAGS) -f Makefile.compile
svg:
$(MAKE) -f Makefile.svgcompile
puredata :
install -d puredatadir
$(MAKE) DEST='puredatadir/' ARCH='puredata.cpp' LIB='-I$(LIB)/faust/' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.pdcompile
alsagtk :
install -d alsagtkdir
$(MAKE) DEST='alsagtkdir/' ARCH='alsa-gtk.cpp' LIB='-I$(LIB)/faust/ -lpthread -lasound `pkg-config --cflags --libs gtk+-2.0` $(OSCLIB)' CXXFLAGS=$(OSCCTRL) -f Makefile.compile
ialsagtk :
install -d ialsagtkdir
$(MAKE) DEST='ialsagtkdir/' ARCH='alsa-gtk.cpp' LIB='-I$(LIB)/faust/ -lpthread -lasound `pkg-config --cflags --libs gtk+-2.0`' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
ialsavec :
install -d ialsavecdir
$(MAKE) DEST='ialsavecdir/' ARCH='alsa-gtk.cpp' VEC='-vec -vs $(VSIZE)' LIB='-I$(LIB)/faust/ -lpthread -lasound `pkg-config --cflags --libs gtk+-2.0`' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
ialsaomp :
install -d ialsaompdir
$(MAKE) DEST='ialsaompdir/' ARCH='alsa-gtk.cpp' VEC='-omp -vs $(VSIZE)' LIB='-I$(LIB)/faust/ -lpthread -lasound `pkg-config --cflags --libs gtk+-2.0`' CXX='icc' CXXFLAGS='-openmp '$(MYICCFLAGS) -f Makefile.compile
ialsasch :
install -d ialsaschdir
$(MAKE) DEST='ialsaschdir/' ARCH='alsa-gtk.cpp' VEC='-sch -vs $(VSIZE)' LIB='-I$(LIB)/faust/ -lpthread -lasound `pkg-config --cflags --libs gtk+-2.0`' CXX='icc' CXXFLAGS=$(MYICCFLAGS) -f Makefile.compile
jackgtk :
install -d jackgtkdir
$(MAKE) DEST='jackgtkdir/' ARCH='jack-gtk.cpp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` $(OSCLIB)' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.compile
msjackgtk :
install -d msjackgtkdir
$(MAKE) DEST='msjackgtkdir/' ARCH='ms-jack-gtk.cpp' LIB='-I$(LIB)/faust/ -lMidiShare `pkg-config --cflags --libs jack gtk+-2.0`' -f Makefile.compile
jackqt :
install -d jackqtdir
$(MAKE) DEST='jackqtdir/' ARCH='jack-qt.cpp' LIB='-ljack $(OSCLIB)' DEFS=$(QTDEFS) CXXFLAGS=$(MYGCCFLAGS) -f Makefile.qtcompile
jackqtsch :
install -d jackqtschdir
$(MAKE) DEST='jackqtschdir/' ARCH='jack-qt.cpp' VEC='-sch -vs $(VSIZE)' LIB='-ljack' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.qtcompile
netjackqt :
install -d netjackqtdir
$(MAKE) DEST='netjackqtdir/' ARCH='netjack-qt.cpp' LIB='-ljacknet $(OSCLIB)' DEFS=$(QTDEFS) CXXFLAGS=$(MYGCCFLAGS) -f Makefile.qtcompile
jackwt :
install -d jackwtdir
$(MAKE) DEST='jackwtdir/' ARCH='jack-wt.cpp' LIB='-I$(LIB)/faust/ -ljack -lwt -lwthttp -lboost_signals-mt $(OSCLIB)' DEFS=$(QTDEFS) -f Makefile.compile
paqt :
install -d paqtdir
$(MAKE) DEST='paqtdir/' ARCH='pa-qt.cpp' LIB='-lportaudio $(OSCLIB)' DEFS=$(QTDEFS) -f Makefile.qtcompile
caqt :
install -d caqtdir
$(MAKE) DEST='caqtdir/' ARCH='ca-qt.cpp' LIB='-framework CoreAudio -framework AudioUnit -framework CoreServices $(OSCLIB)' CXXFLAGS=$(MYGCCFLAGS) DEFS=$(QTDEFS) -f Makefile.qtcompile
oscioqt : OSCLIB = -L$(LIB)/faust/osclib -lOSCFaust -loscpack
oscioqt :
install -d oscioqtdir
$(MAKE) DEST='oscioqtdir/' ARCH='oscio-qt.cpp' LIB='-ljack $(OSCLIB)' DEFS=$(QTDEFS) -f Makefile.qtcompile
osciogtk : OSCLIB = -L$(LIB)/faust/osclib -lOSCFaust -loscpack
osciogtk :
install -d osciogtkdir
$(MAKE) DEST='osciogtkdir/' ARCH='oscio-gtk.cpp' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0` $(OSCLIB)' CXXFLAGS=-I$(LIB)/faust/osclib -f Makefile.compile
alsaqt :
install -d alsaqtdir
$(MAKE) DEST='alsaqtdir/' ARCH='alsa-qt.cpp' LIB='-lpthread -lasound $(OSCLIB)' DEFS=$(QTDEFS) -f Makefile.qtcompile
ladspa :
install -d ladspadir
$(MAKE) DEST='ladspadir/' ARCH='ladspa.cpp' LIB='-I$(LIB)/faust/' EXT='.so' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.ladspacompile
ladspasch :
install -d ladspaschdir
$(MAKE) DEST='ladspaschdir/' ARCH='ladspa.cpp' VEC='-sch -vs $(VSIZE)' LIB='-I$(LIB)/faust/' EXT='.so' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.ladspacompile
dssi :
install -d dssidir
$(MAKE) DEST='dssidir/' ARCH='dssi.cpp' LIB='-I$(LIB)/faust/' EXT='.so' CXXFLAGS=$(MYGCCFLAGS) -f Makefile.dssicompile
csound :
install -d csounddir
$(MAKE) DEST='csounddir/' -f Makefile.csound
csounddouble :
install -d csounddoubledir
$(MAKE) DEST='csounddoubledir/' VEC='-double' -f Makefile.csound
jackwx :
install -d jackwxdir
$(MAKE) DEST='jackwxdir/' ARCH='jack-wx.cpp' LIB='`pkg-config jack --cflags --libs` `wx-config --cflags --libs`' -f Makefile.compile
ossgtk :
install -d ossgtkdir
$(MAKE) DEST='ossgtkdir/' ARCH='oss-gtk.cpp' LIB='-lpthread `pkg-config gtk+-2.0 --cflags --libs`' -f Makefile.compile
osswx :
install -d osswxdir
$(MAKE) DEST='osswxdir/' ARCH='oss-wx.cpp' LIB='-lpthread `wx-config --cflags --libs`' -f Makefile.compile
pagtk :
install -d pagtkdir
$(MAKE) DEST='pagtkdir/' ARCH='pa-gtk.cpp' LIB='-I$(LIB)/faust/ -lpthread -lportaudio `pkg-config gtk+-2.0 --cflags --libs` $(OSCLIB)' CXXFLAGS=$(OSCCTRL) -f Makefile.compile
pawx :
install -d pawxdir
$(MAKE) DEST='pawxdir/' ARCH='pa-wx.cpp' LIB='-lpthread -lportaudio `wx-config --cflags --libs`' -f Makefile.compile
module :
install -d moduledir
$(MAKE) DEST='moduledir/' ARCH='module.cpp' LIB='-I$(LIB)/faust/ -fPIC -shared' EXT='.so' -f Makefile.compile
bundle :
install -d bundledir
$(MAKE) DEST='bundledir/' ARCH='module.cpp' LIB='-I$(LIB)/faust/ -fPIC -bundle' EXT='.so' -f Makefile.compile
maxmsp msp :
install -d mspdir
$(MAKE) DEST='mspdir/' ARCH='max-msp.cpp' LIB='' -f Makefile.mspcompile
w32vstdir :
mkdir w32vstdir
w32vst : w32vstdir
$(MAKE) DEST='w32vstdir/' ARCH='vst2p4.cpp' LIB='' -f Makefile.w32vstcompile
vst :
install -d vstdir
$(MAKE) DEST='vstdir/' ARCH='vst.cpp' LIB='' -f Makefile.vstcompile
iphone :
install -d iphonedir
$(MAKE) DEST='iphonedir/' ARCH='iphone-cocoa.cpp' LIB='' -f Makefile.iphonecompile
iphonenet :
install -d iphonenetdir
$(MAKE) DEST='iphonenetdir/' ARCH='iphone-cocoa-net.cpp' LIB='' -f Makefile.iphonenetcompile
bench :
install -d benchdir
$(MAKE) DEST='benchdir/' ARCH='bench.cpp' LIB='-I$(LIB)/faust/' -f Makefile.compile
ibench :
install -d ibenchdir
$(MAKE) DEST='ibenchdir/' ARCH='bench.cpp' LIB='-I$(LIB)/faust/' CXX='icc' CXXFLAGS='-O3 -xHost -ftz -fno-alias -fp-model fast=2' -f Makefile.compile
ivecbench :
install -d ivecbenchdir
$(MAKE) DEST='ivecbenchdir/' ARCH='bench.cpp' VEC='-vec -vs $(VSIZE)' LIB='-I$(LIB)/faust/' CXX='icc' CXXFLAGS='-O3 -xHost -ftz -fno-alias -fp-model fast=2' -f Makefile.compile
ivecjack :
install -d ivecjackdir
$(MAKE) DEST='ivecjackdir/' ARCH='jack-gtk.cpp' VEC='-vec -vs $(VSIZE)' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack gtk+-2.0`' CXX='icc' CXXFLAGS='-O3 -xHost -ftz -fno-alias -fp-model fast=2' -f Makefile.compile
iparbench :
install -d iparbenchdir
$(MAKE) DEST='iparbenchdir/' ARCH='bench.cpp' VEC='-vec -vs $(VSIZE) -omp' LIB='-I$(LIB)/faust/' CXX='icc' CXXFLAGS='-O3 -openmp -xHost -ftz -fno-alias -fp-model fast=2' -f Makefile.compile
gparbench :
install -d gparbenchdir
$(MAKE) DEST='gparbenchdir/' ARCH='bench.cpp' VEC='-vec -vs $(VSIZE) -omp' LIB='-I$(LIB)/faust/' CXX='g++' CXXFLAGS='-O3 -march=native -mfpmath=sse -msse -msse2 -msse3 -ffast-math' -f Makefile.compile
sndfile :
install -d sndfiledir
$(MAKE) DEST='sndfiledir/' ARCH='sndfile.cpp' LIB='-I$(LIB)/faust/ -lsndfile' -f Makefile.compile
CXXFLAGS=$(OSCCTRL)
plot :
install -d plotdir
$(MAKE) DEST='plotdir/' ARCH='plot.cpp' LIB='-I$(LIB)/faust/' -f Makefile.compile
matlabplot :
install -d matlabplotdir
$(MAKE) DEST='matlabplotdir/' ARCH='matlabplot.cpp' LIB='-I$(LIB)/faust/' -f Makefile.compile
q :
install -d qdir
$(MAKE) DEST='qdir/' ARCH='q.cpp' LIB='-I$(LIB)/faust/' -f Makefile.qcompile
# SCCFLAGS := $(MYGCCFLAGS:'=) `pkg-config --cflags libscsynth`'
# SCCFLAGS := $(MYGCCFLAGS:=) `pkg-config --cflags libscsynth`
# SCCFLAGS := $(MYGCCFLAGS:=) -lscsynth
supercollider sc:
install -d supercolliderdir
$(MAKE) DEST='supercolliderdir/' -f Makefile.sccompile
# supercollider :
# ls *.dsp | ../tools/scbuilder/scbuilder \
# FAUST2SC=../tools/faust2sc-1.0.0/faust2sc \
# FAUST2SC_PREFIX="Faust_" \
# SC_SOURCE_DIR=$(SC_SOURCE_DIR) \
# BUILD_DIR=supercolliderdir \
# $(SCONS_OPTIONS)
jackconsole :
install -d jackconsoledir
$(MAKE) DEST='jackconsoledir/' ARCH='jack-console.cpp' VEC='-vec -vs $(VSIZE)' LIB='-I$(LIB)/faust/ `pkg-config --cflags --libs jack ` $(OSCLIB)' CXXFLAGS=$(OSCCTRL) -f Makefile.compile
mathdoc :
$(MAKE) -f Makefile.mathdoc
help:
@echo "make alsagtk [OSC=1] : compile examples as ALSA applications with a GTK Graphical User Interface"
@echo "make alsaqt [OSC=1] : compile examples as ALSA applications with a QT4 Graphical User Interface"
@echo "make sndfile : compile examples as sound file processors with a Command line User Interface"
@echo "make jackconsole [OSC=1] : compile examples as JACK applications with a Command line User Interface"
@echo "make jackgtk [OSC=1] : compile examples as JACK applications with a GTK Graphical User Interface"
@echo "make jackqt [OSC=1] : compile examples as JACK applications with a QT4 Graphical User Interface"
@echo "make jackwx : compile examples as JACK applications with a wxWindows Graphical User Interface"
@echo "make ossgtk : compile examples as OSS applications with a GTK Graphical User Interface"
@echo "make osswx : compile examples as OSS applications with a wxWindows Graphical User Interface"
@echo "make pagtk [OSC=1] : compile examples as PortAudio applications with a GTK Graphical User Interface"
@echo "make paqt [OSC=1] : compile examples as PortAudio applications with a QT4 Graphical User Interface"
@echo "make pawx : compile examples as PortAudio applications with a wxWindows Graphical User Interface"
@echo "make caqt [OSC=1] : compile examples as CoreAudio applications with a QT4 Graphical User Interface"
@echo "make oscioqt : compile examples as OSC driven applications with a QT4 Graphical User Interface"
@echo "--------------------------------------------"
@echo "make ladspa : compile examples as LADSPA plugins"
@echo "make dssi : compile examples as DSSI plugins"
@echo "make csound : compile examples as CSOUND opcodes"
@echo "make csounddouble : compile examples as double precision CSOUND opcodes"
@echo "make maxmsp : compile examples as Max/MSP externals"
@echo "make vst : compile examples as native VST plugins"
@echo "make w32vst : crosscompile examples as windows VST plugins"
@echo "make iphone : compile examples for Apple iPhone/iPod"
@echo "make supercollider : compile examples as Supercollider plugins"
@echo "make puredata : compile examples as Puredata externals"
@echo "make q : compile examples as Q plugins"
@echo "--------------------------------------------"
@echo "make svg : generate the examples block-diagrams in SVG format "
@echo "make mathdoc : generate the examples math documentation in TEX and PDF formats "
@echo "make bench : compile examples as command line benchmarks "
@echo "make plot : compile examples as command line programs that print samples for plotting with, e.g., gnuplot"
@echo "make matlabplot : compile examples as command line programs that print samples in matlab input format"
@echo "--------------------------------------------"
@echo "make clean : remove all object files"
clean :
rm -rf *dir
rm -rf *-svg
rm *.dsp &
rm *.mdx &
# EJB commented this out: $(MAKE) -f Makefile.mathdoc clean