Merge branch 'master' of https://scm.cri.ensmp.fr/git/Faustine
[Faustine.git] / Makefile
1 # Faustine top-level Makefile.
2
3 EXEC = faustine
4 SRC_DIR = interpreter
5 PREPROCESSOR_DIR = $(SRC_DIR)/preprocessor/faust-0.9.47mr3
6 EXAMPLES_DIR = examples
7 SINWAVE_DIR = $(EXAMPLES_DIR)/sinwave
8
9 DESTDIR ?=
10 PREFIX ?= /usr/local
11 prefix := $(DESTDIR)$(PREFIX)
12 lib := $(wildcard lib/*.*)
13
14 all: $(EXEC)
15
16 faustine:
17 $(MAKE) -C $(SRC_DIR) opt # using ocamlopt compiler (optimized)
18
19 .PHONY: clean mrproper test help install uninstall
20
21 help :
22 @echo "make or make all : compiler the faustine interpreter"
23 @echo "make clean : remove all object files"
24 @echo "make doc : generate the documentation using ocamldoc (TODO)"
25 @echo "make install : install the interpreter and the library files in $(prefix)/bin $(prefix)/lib/faustine"
26 @echo "make uninstall : undo what install did"
27 @echo "make dist : make a tar.gz file ready for distribution (TODO)"
28
29 clean:
30 @($(MAKE) -C $(SRC_DIR) clean)
31 @(rm -f *~)
32
33 mrproper: clean
34 @($(MAKE) -C $(SRC_DIR) mrproper)
35 @($(MAKE) -C $(PREPROCESSOR_DIR) clean)
36 @($(MAKE) -C $(EXAMPLES_DIR) clean)
37
38 test:
39 @$(MAKE) -C $(SINWAVE_DIR)
40 @ls -l $(SINWAVE_DIR)/output1.wav
41
42 @echo " You might want to check the output file with either:"
43 @echo "audacity $(SINWAVE_DIR)/output1.wav"
44 @echo "open $(SINWAVE_DIR)/output1.wav"
45 @echo "octave -q --eval 'plot(wavread(\"$(SINWAVE_DIR)/output1.wav\")); pause'"
46
47 examples::
48 @($(MAKE) -C $(EXAMPLES_DIR))
49
50 install :
51 mkdir -p $(prefix)/lib/faustine/
52 mkdir -p $(prefix)/bin/
53 install $(SRC_DIR)/faustine $(prefix)/bin/
54 install -m 0644 $(lib) $(prefix)/lib/faustine/
55
56 uninstall :
57 rm -rf $(prefix)/lib/faustine/
58 rm -f $(prefix)/bin/faustine