# Faustine top-level Makefile. EXEC = faustine SRC_DIR = interpretor PREPROCESSOR_DIR = $(SRC_DIR)/preprocessor/faust-0.9.47mr3 OUTPUTSOUNDS_DIR = examples/output_sounds DESTDIR ?= PREFIX ?= /usr/local prefix := $(DESTDIR)$(PREFIX) arch := $(wildcard architecture/*.*) all: $(EXEC) faustine: # @cp $(SNDFILE_PATH)/sndfile_stub.o $(SRC_DIR) ## Using ocamlopt with 'make opt' @cd $(SRC_DIR) && $(MAKE) opt #OCAML_INCLUDE_PATH=$(OCAML_INCLUDE_PATH) SNDFILE_PATH=$(SNDFILE_PATH) @cd $(SRC_DIR) && $(MAKE) clean .PHONY: clean mrproper test help install uninstall help : @echo "make or make all : compiler the faustine interpreter" @echo "make clean : remove all object files" @echo "make doc : generate the documentation using ocamldoc (TODO)" @echo "make install : install the interpreter and the library files in $(prefix)/bin $(prefix)/lib/faustine" @echo "make uninstall : undo what install did" @echo "make dist : make a tar.gz file ready for distribution (TODO)" clean: @(cd $(SRC_DIR) && $(MAKE) clean) @(rm -f *~) mrproper: clean @(cd $(SRC_DIR) && $(MAKE) mrproper) @(cd $(PREPROCESSOR_DIR) && $(MAKE) 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 @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'" install : mkdir -p $(prefix)/lib/faustine/ mkdir -p $(prefix)/bin/ install interpretor/faustine $(prefix)/bin/ install -m 0644 $(arch) $(prefix)/lib/faustine/ uninstall : rm -rf $(prefix)/lib/faustine/ rm -f $(prefix)/bin/faustine