# Faustine top-level Makefile.
EXEC = faustine
-SRC_DIR = interpretor
+SRC_DIR = interpreter
PREPROCESSOR_DIR = $(SRC_DIR)/preprocessor/faust-0.9.47mr3
-OUTPUTSOUNDS_DIR = examples/output_sounds
+EXAMPLES_DIR = examples
+SINWAVE_DIR = $(EXAMPLES_DIR)/sinwave
DESTDIR ?=
PREFIX ?= /usr/local
prefix := $(DESTDIR)$(PREFIX)
-arch := $(wildcard architecture/*.*)
+lib := $(wildcard lib/*.*)
all: $(EXEC)
faustine:
- @cd $(SRC_DIR) && $(MAKE) opt # using ocamlopt
- @cd $(SRC_DIR) && $(MAKE) clean
+ $(MAKE) -C $(SRC_DIR) opt # using ocamlopt compiler (optimized)
.PHONY: clean mrproper test help install uninstall
@echo "make dist : make a tar.gz file ready for distribution (TODO)"
clean:
- @(cd $(SRC_DIR) && $(MAKE) clean)
+ @($(MAKE) -C $(SRC_DIR) clean)
@(rm -f *~)
mrproper: clean
- @(cd $(SRC_DIR) && $(MAKE) mrproper)
- @(cd $(PREPROCESSOR_DIR) && $(MAKE) clean)
+ @($(MAKE) -C $(SRC_DIR) mrproper)
+ @($(MAKE) -C $(PREPROCESSOR_DIR) clean)
+ @($(MAKE) -C $(EXAMPLES_DIR) clean)
-test: # TODO, obsolete
- @rm -f $(OUTPUTSOUNDS_DIR)/output0.wav
- @cd $(SRC_DIR) && ./faustine -d ../dsp_files/sin.dsp
- @ls -l $(OUTPUTSOUNDS_DIR)/output0.wav
+test:
+ @$(MAKE) -C $(SINWAVE_DIR)
+ @ls -l $(SINWAVE_DIR)/output1.wav
@echo " You might want to check the output file with either:"
- @echo "audacity ../examples/output_sounds/output0.wav"
- @echo "open ../examples/output_sounds/output0.wav"
- @echo "octave -q --eval 'plot(wavread(\"../examples/output_sounds/output0.wav\")); pause'"
+ @echo "audacity $(SINWAVE_DIR)/output1.wav"
+ @echo "open $(SINWAVE_DIR)/output1.wav"
+ @echo "octave -q --eval 'plot(wavread(\"$(SINWAVE_DIR)/output1.wav\")); pause'"
+
+example:
+ @($(MAKE) -C $(EXAMPLES_DIR))
install :
mkdir -p $(prefix)/lib/faustine/
mkdir -p $(prefix)/bin/
- install interpretor/faustine $(prefix)/bin/
- install -m 0644 $(arch) $(prefix)/lib/faustine/
+ install $(SRC_DIR)/faustine $(prefix)/bin/
+ install -m 0644 $(lib) $(prefix)/lib/faustine/
uninstall :
rm -rf $(prefix)/lib/faustine/