1d7dda980991b9c2ac8416745318b3720d9f1bc0
[aubio.git] / Makefile
1 WAFCMD=python waf
2
3 SOX=sox
4
5 ENABLE_DOUBLE := $(shell [ -z $(HAVE_DOUBLE) ] || echo --enable-double )
6 TESTSOUNDS := python/tests/sounds
7
8 all: build
9
10 checkwaf:
11         @[ -f waf ] || make getwaf
12
13 getwaf:
14         curl https://waf.io/waf-1.8.20 > waf
15         @chmod +x waf
16
17 expandwaf:
18         @[ -d wafilb ] || rm -fr waflib
19         @$(WAFCMD) --help > /dev/null
20         @mv .waf*/waflib . && rm -fr .waf*
21         @sed '/^#==>$$/,$$d' waf > waf2 && mv waf2 waf
22         @chmod +x waf
23
24 configure: checkwaf
25         $(WAFCMD) configure $(WAFOPTS) $(ENABLE_DOUBLE)
26
27 build: configure
28         $(WAFCMD) build $(WAFOPTS)
29
30 build_python:
31         cd python && python ./setup.py generate $(ENABLE_DOUBLE) build
32
33 test_python:
34         cd python && pip install -v .
35         cd python && LD_LIBRARY_PATH=$(PWD)/build/src nose2 --verbose
36         cd python && pip uninstall -y -v aubio
37
38 test_python_osx:
39         cd python && pip install --user -v .
40         [ -f build/src/libaubio.[0-9].dylib ] && ( mkdir -p ~/lib && cp -prv build/src/libaubio.4.dylib ~/lib ) || true
41         cd python && nose2 --verbose
42         cd python && pip uninstall -y -v aubio
43
44 clean_python:
45         cd python && ./setup.py clean
46
47 build_python3:
48         cd python && python3 ./setup.py generate $(ENABLE_DOUBLE) build
49
50 clean_python3:
51         cd python && python3 ./setup.py clean
52
53 clean:
54         $(WAFCMD) clean
55
56 distcheck: checkwaf
57         $(WAFCMD) distcheck
58
59 help:
60         $(WAFCMD) --help
61
62 create_test_sounds:
63         -[ -z `which $(SOX)` ] && ( echo $(SOX) could not be found) || true
64         -mkdir -p $(TESTSOUNDS)
65         -$(SOX) -r 44100 -b 16 -n "$(TESTSOUNDS)/44100Hz_1f_silence.wav"      synth 1s   silence 0
66         -$(SOX) -r 22050 -b 16 -n "$(TESTSOUNDS)/22050Hz_5s_brownnoise.wav"   synth 5    brownnoise      vol 0.9
67         -$(SOX) -r 32000 -b 16 -n "$(TESTSOUNDS)/32000Hz_127f_sine440.wav"    synth 127s sine 440        vol 0.9
68         -$(SOX) -r  8000 -b 16 -n "$(TESTSOUNDS)/8000Hz_30s_silence.wav"      synth 30   silence 0       vol 0.9
69         -$(SOX) -r 48000 -b 32 -n "$(TESTSOUNDS)/48000Hz_60s_sweep.wav"       synth 60   sine 100-20000  vol 0.9