X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/f4b893045495fe7868d595f2663adb3808dbac2c..056d65cce93f673551b565e7d11f196be2e8ec93:/Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..79e54a5 --- /dev/null +++ b/Makefile @@ -0,0 +1,55 @@ +# 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: + @cd $(SRC_DIR) && $(MAKE) opt # using ocamlopt + @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