SRC_DIR = interpretor
PREPROCESSOR_DIR = $(SRC_DIR)/faust-0.9.47mr3
OUTPUTSOUNDS_DIR = output_sounds

all: $(EXEC)

faustine:
	@cp $(SNDFILE_PATH)/sndfile_stub.o $(SRC_DIR)
	@cd $(SRC_DIR) && $(MAKE) opt OCAML_INCLUDE_PATH=$(OCAML_INCLUDE_PATH) SNDFILE_PATH=$(SNDFILE_PATH)
	@cd $(SRC_DIR) && $(MAKE) clean

.PHONY: clean mrproper

clean:
	@cd $(SRC_DIR) && $(MAKE) clean)
	@(rm -f *~)

mrproper: clean
	@(cd $(SRC_DIR) && $(MAKE) mrproper)
	@(cd $(PREPROCESSOR_DIR) && $(MAKE) clean)

test: 
	@rm -f $(OUTPUTSOUNDS_DIR)/output0.wav
	@cd $(SRC_DIR) && ./faustine -csv -wav ../dsp_files/sin.dsp
	@ls -l $(OUTPUTSOUNDS_DIR)/output0.wav

	@echo "    You might want to check the output file with either:"
	@echo "audacity ../output_sounds/output0.wav"
	@echo "open ../output_sounds/output0.wav"
	@echo "octave -q --eval 'plot(wavread(\"output_sounds/output0.wav\")); pause'"

# Library paths for OCaml and libsndfile-ocaml
# OCAML_INCLUDE_PATH
# SNDFILE_PATH