CHUGINS=ABSaturator AmbPan Bitcrusher KasFilter MagicSine FIR \ FoldbackSaturator Ladspa NHHall PanN PitchTrack GVerb \ Mesh2D Spectacle Elliptic Sigmund ExpDelay Overdrive \ Multicomb PowerADSR WinFuncEnv WPDiodeLadder WPKorg35 \ Binaural ExpEnv Perlin Random RegEx Wavetable CHUGS_NOT_ON_WIN32=FluidSynthCHUGINS_WIN32=$(filter-out $(CHUGS_NOT_ON_WIN32),$(CHUGINS)) CHUGS=$(foreach CHUG,$(CHUGINS),$(CHUG)/$(CHUG).chug)CHUGS_WIN32=$(foreach CHUG,$(CHUGINS_WIN32),$(CHUG)/$(CHUG).chug)CHUGS_RELEASE=$(foreach CHUG,$(CHUGINS_WIN32),$(CHUG)/Release/$(CHUG).chug)CHUGS_CLEAN=$(addsuffix .clean,$(CHUGINS)) DESTDIR?=/usr/localINSTALL_DIR=$(DESTDIR)/lib/chuckINSTALL_DIR_WIN32="C:/Program Files/ChucK/chugins" ifneq ($(CK_TARGET),).DEFAULT_GOAL:=$(CK_TARGET)ifeq ($(MAKECMDGOALS),)MAKECMDGOALS:=$(.DEFAULT_GOAL)endifendif CHUCK_STRICT=1 osx: $(CHUGS)linux: $(CHUGS)linux-alsa: $(CHUGS)linux-jack: $(CHUGS)win32: $(CHUGS_WIN32)openbsd: $(MAKE) linux $(CHUGS): CHUCK_STRICT=1 $(MAKE) -C $(dir $@) $(MAKECMDGOALS) clean: $(CHUGS_CLEAN).PHONY: $(CHUGS_CLEAN)$(CHUGS_CLEAN): $(MAKE) -C $(basename $@) clean #.PHONY: $(CHUGS_WIN32)#$(CHUGS_WIN32):# cd $(basename $@); msbuild.exe /p:Configuration=Release install: $(CHUGS) mkdir -p $(INSTALL_DIR) cp -rf $(CHUGS) $(INSTALL_DIR) install-win32: $(CHUGS_RELEASE) mkdir -p $(INSTALL_DIR_WIN32) cp -rf $(CHUGS_RELEASE) $(INSTALL_DIR_WIN32) DATE=$(shell date +"%Y-%m-%d") FIR_EXAMPLES=CCRMAHallShort.wav FIRConvolve.ck FIRConvolveHomer.ck \FIRFOFTest.ck FIRGaussImpulseTests.ck FIRGaussTests.ck FIRSincBPSweepTest.ck \FIRSincExplicit.ck FIRSincImpulseTests.ck FIRSincTests.ck \GreyholeDownUpDecimateDemo.ck EXAMPLES=Bitcrusher/Bitcrusher-test.ck MagicSine/MagicSine-test.ck \ABSaturator/ABSaturator-test.ck KasFilter/README-KasFilter.ck \$(addprefix FIR/examples/,$(FIR_EXAMPLES)) \PanN/Pan4-test.ck PanN/Pan8-test.ck bin-dist-osx: osx mkdir -p chugins-mac-$(DATE)/chugins/ mkdir -p chugins-mac-$(DATE)/examples/ cp -f notes/README-mac.txt chugins-mac-$(DATE)/ cp -rf $(EXAMPLES) chugins-mac-$(DATE)/examples/ cp -rf $(CHUGS) chugins-mac-$(DATE)/chugins/ tar czf chugins-mac-$(DATE).tgz chugins-mac-$(DATE) rm -rf chugins-mac-$(DATE)/ WIN_CHUGS=$(foreach CHUG,$(CHUGINS),$(CHUG)/Release/$(CHUG).chug) bin-dist-win32: -echo '*** Please ensure you have built all chugins from within Visual Studio ***' mkdir -p chugins-windows-$(DATE)/chugins/ mkdir -p chugins-windows-$(DATE)/examples/ cp -f notes/README-windows.txt chugins-windows-$(DATE)/ cp -rf $(EXAMPLES) chugins-windows-$(DATE)/examples/ cp -rf $(WIN_CHUGS) chugins-windows-$(DATE)/chugins/ rm -rf chugins-windows-$(DATE).zip zip -q -9 -r -m chugins-windows-$(DATE).zip chugins-windows-$(DATE) rm -rf chugins-windows-$(DATE)/ src-dist: mkdir -p chugins-src-$(DATE)/src/ mkdir -p chugins-src-$(DATE)/examples/ cp -rf $(EXAMPLES) chugins-src-$(DATE)/examples/ git archive HEAD . | tar -x -C chugins-src-$(DATE)/src tar czf chugins-src-$(DATE).tgz chugins-src-$(DATE) PPA_CHUG_VERSION?=1.3.5.0aPPA_DEB_VERSION?=1.3.5.0a-ppa1 PPA_CHUG_DIR=chugins_$(PPA_CHUG_VERSION)PPA_CHUG_TGZ=../chugins_$(PPA_CHUG_VERSION).orig.tar.gz FORCE: ppa-tgz: $(PPA_CHUG_TGZ) ppa-source: $(PPA_CHUG_TGZ) ppa-clean debuild -S $(PPA_CHUG_TGZ): FORCE rm -rf $(PPA_CHUG_DIR) mkdir -p $(PPA_CHUG_DIR) git archive HEAD . | tar -x -C $(PPA_CHUG_DIR) find $(PPA_CHUG_DIR)/ -type f -exec chmod a-x {} + tar czf $(PPA_CHUG_TGZ) $(PPA_CHUG_DIR) rm -rf $(PPA_CHUG_DIR) ppa-binary: $(PPA_CHUG_TGZ) ppa-clean debuild -uc -us ppa-upload: dput ppa:t-spencer/chuck ../chugins_$(PPA_DEB_VERSION)_source.changes ppa-clean: debian/rules clean rm -rf debian/chuck
CHUGINS=ABSaturator AmbPan Bitcrusher KasFilter MagicSine FIR \
FoldbackSaturator Ladspa NHHall PanN PitchTrack GVerb \
Mesh2D Spectacle Elliptic Sigmund ExpDelay Overdrive \
Multicomb PowerADSR WinFuncEnv WPDiodeLadder WPKorg35 \
Binaural ExpEnv Perlin Random RegEx Wavetable
CHUGS_NOT_ON_WIN32=FluidSynth
CHUGINS_WIN32=$(filter-out $(CHUGS_NOT_ON_WIN32),$(CHUGINS))
CHUGS=$(foreach CHUG,$(CHUGINS),$(CHUG)/$(CHUG).chug)
CHUGS_WIN32=$(foreach CHUG,$(CHUGINS_WIN32),$(CHUG)/$(CHUG).chug)
CHUGS_RELEASE=$(foreach CHUG,$(CHUGINS_WIN32),$(CHUG)/Release/$(CHUG).chug)
CHUGS_CLEAN=$(addsuffix .clean,$(CHUGINS))
DESTDIR?=/usr/local
INSTALL_DIR=$(DESTDIR)/lib/chuck
INSTALL_DIR_WIN32="C:/Program Files/ChucK/chugins"
ifneq ($(CK_TARGET),)
.DEFAULT_GOAL:=$(CK_TARGET)
ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS:=$(.DEFAULT_GOAL)
endif
endif
CHUCK_STRICT=1
osx: $(CHUGS)
linux: $(CHUGS)
linux-alsa: $(CHUGS)
linux-jack: $(CHUGS)
win32: $(CHUGS_WIN32)
openbsd:
$(MAKE) linux
$(CHUGS):
CHUCK_STRICT=1 $(MAKE) -C $(dir $@) $(MAKECMDGOALS)
clean: $(CHUGS_CLEAN)
.PHONY: $(CHUGS_CLEAN)
$(CHUGS_CLEAN):
$(MAKE) -C $(basename $@) clean
#.PHONY: $(CHUGS_WIN32)
#$(CHUGS_WIN32):
# cd $(basename $@); msbuild.exe /p:Configuration=Release
install: $(CHUGS)
mkdir -p $(INSTALL_DIR)
cp -rf $(CHUGS) $(INSTALL_DIR)
install-win32: $(CHUGS_RELEASE)
mkdir -p $(INSTALL_DIR_WIN32)
cp -rf $(CHUGS_RELEASE) $(INSTALL_DIR_WIN32)
DATE=$(shell date +"%Y-%m-%d")
FIR_EXAMPLES=CCRMAHallShort.wav FIRConvolve.ck FIRConvolveHomer.ck \
FIRFOFTest.ck FIRGaussImpulseTests.ck FIRGaussTests.ck FIRSincBPSweepTest.ck \
FIRSincExplicit.ck FIRSincImpulseTests.ck FIRSincTests.ck \
GreyholeDownUpDecimateDemo.ck
EXAMPLES=Bitcrusher/Bitcrusher-test.ck MagicSine/MagicSine-test.ck \
ABSaturator/ABSaturator-test.ck KasFilter/README-KasFilter.ck \
$(addprefix FIR/examples/,$(FIR_EXAMPLES)) \
PanN/Pan4-test.ck PanN/Pan8-test.ck
bin-dist-osx: osx
mkdir -p chugins-mac-$(DATE)/chugins/
mkdir -p chugins-mac-$(DATE)/examples/
cp -f notes/README-mac.txt chugins-mac-$(DATE)/
cp -rf $(EXAMPLES) chugins-mac-$(DATE)/examples/
cp -rf $(CHUGS) chugins-mac-$(DATE)/chugins/
tar czf chugins-mac-$(DATE).tgz chugins-mac-$(DATE)
rm -rf chugins-mac-$(DATE)/
WIN_CHUGS=$(foreach CHUG,$(CHUGINS),$(CHUG)/Release/$(CHUG).chug)
bin-dist-win32:
-echo '*** Please ensure you have built all chugins from within Visual Studio ***'
mkdir -p chugins-windows-$(DATE)/chugins/
mkdir -p chugins-windows-$(DATE)/examples/
cp -f notes/README-windows.txt chugins-windows-$(DATE)/
cp -rf $(EXAMPLES) chugins-windows-$(DATE)/examples/
cp -rf $(WIN_CHUGS) chugins-windows-$(DATE)/chugins/
rm -rf chugins-windows-$(DATE).zip
zip -q -9 -r -m chugins-windows-$(DATE).zip chugins-windows-$(DATE)
rm -rf chugins-windows-$(DATE)/
src-dist:
mkdir -p chugins-src-$(DATE)/src/
mkdir -p chugins-src-$(DATE)/examples/
cp -rf $(EXAMPLES) chugins-src-$(DATE)/examples/
git archive HEAD . | tar -x -C chugins-src-$(DATE)/src
tar czf chugins-src-$(DATE).tgz chugins-src-$(DATE)
PPA_CHUG_VERSION?=1.3.5.0a
PPA_DEB_VERSION?=1.3.5.0a-ppa1
PPA_CHUG_DIR=chugins_$(PPA_CHUG_VERSION)
PPA_CHUG_TGZ=../chugins_$(PPA_CHUG_VERSION).orig.tar.gz
FORCE:
ppa-tgz: $(PPA_CHUG_TGZ)
ppa-source: $(PPA_CHUG_TGZ) ppa-clean
debuild -S
$(PPA_CHUG_TGZ): FORCE
rm -rf $(PPA_CHUG_DIR)
mkdir -p $(PPA_CHUG_DIR)
git archive HEAD . | tar -x -C $(PPA_CHUG_DIR)
find $(PPA_CHUG_DIR)/ -type f -exec chmod a-x {} +
tar czf $(PPA_CHUG_TGZ) $(PPA_CHUG_DIR)
rm -rf $(PPA_CHUG_DIR)
ppa-binary: $(PPA_CHUG_TGZ) ppa-clean
debuild -uc -us
ppa-upload:
dput ppa:t-spencer/chuck ../chugins_$(PPA_DEB_VERSION)_source.changes
ppa-clean:
debian/rules clean
rm -rf debian/chuck