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
|
DEST := pddir/
dspsrc := $(wildcard *.dsp)
cppsrc := $(addprefix $(DEST), $(dspsrc:.dsp=.cpp))
modules := $(addprefix $(DEST), $(dspsrc:.dsp=~.pd_linux))
patches := $(addprefix $(DEST), $(dspsrc:.dsp=.pd))
FAUST2PD := faust2pd
F2PDFLAGS := -r 10 -s
LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC \
-Wall -W -Wshadow -Wno-unused -Wno-parentheses -Wno-switch $(CFLAGS)
LINUXINCLUDE =
###--------------------------------------------
### Will use faust2pd to create the GUI patches
### only if it is installed
helper:=$(shell whereis faust2pd)
ifeq ($(helper),faust2pd:)
todo:=$(modules)
else
todo:=$(modules) $(patches)
endif
###--------------------------------------------
allmodules: $(todo)
$(DEST)%~.pd_linux: $(DEST)%.cpp
$(CXX) $(LINUXCFLAGS) $(LINUXINCLUDE) -shared -Dmydsp=$(patsubst %~.pd_linux,%,$(notdir $@)) $< -o $@
$(DEST)%.cpp: %.dsp
faust -a $(ARCH) $< -o $@
$(DEST)%.pd: %.dsp
faust -xml $< -o /dev/null
$(FAUST2PD) $(F2PDFLAGS) $<.xml
mv $(<:.dsp=.pd) $(DEST)
rm -f $<.xml
clean:
rm -rf $(DEST)
|