2 WAFURL=https://waf.io/waf-1.9.1
6 ENABLE_DOUBLE := $(shell [ -z $(HAVE_DOUBLE) ] || echo --enable-double )
7 TESTSOUNDS := python/tests/sounds
12 @[ -f waf ] || make getwaf
15 @( which wget > /dev/null && wget -qO waf $(WAFURL) ) || ( which curl > /dev/null && curl $(WAFURL) > waf )
19 @[ -d wafilb ] || rm -fr waflib
20 @$(WAFCMD) --help > /dev/null
21 @mv .waf*/waflib . && rm -fr .waf*
22 @sed '/^#==>$$/,$$d' waf > waf2 && mv waf2 waf
26 $(WAFCMD) configure $(WAFOPTS) $(ENABLE_DOUBLE)
29 $(WAFCMD) build $(WAFOPTS)
32 python ./setup.py generate $(ENABLE_DOUBLE) build
34 test_python: export LD_LIBRARY_PATH=$(PWD)/build/src
36 pip install -v -r requirements.txt
39 pip uninstall -y -v aubio
42 # create links from ~/lib/lib* to build/src/lib*
43 [ -f build/src/libaubio.[0-9].dylib ] && ( mkdir -p ~/lib && cp -prv build/src/libaubio.4.dylib ~/lib ) || true
45 pip install --user -v -r requirements.txt
46 pip install --user -v .
48 pip uninstall -y -v aubio
54 -pip uninstall -v -y aubio
55 -rm -rf build/ python/gen/
57 -pip install -v -r requirements.txt
58 CFLAGS=-Os python setup.py bdist_egg
59 [ "$(TRAVIS_OS_NAME)" == "osx" ] && easy_install --user dist/*.egg || \
60 easy_install dist/*.egg
62 pip uninstall -v -y aubio
64 test_pure_python_wheel:
65 -pip uninstall -v -y aubio
66 -rm -rf build/ python/gen/
68 -pip install -v -r requirements.txt
70 CFLAGS=-Os python setup.py bdist_wheel --universal
71 wheel install dist/*.whl
73 pip uninstall -v -y aubio
76 python3 ./setup.py generate $(ENABLE_DOUBLE) build
79 python3 ./setup.py clean
85 $(WAFCMD) distcheck $(WAFOPTS) $(ENABLE_DOUBLE)
91 -[ -z `which $(SOX)` ] && ( echo $(SOX) could not be found) || true
92 -mkdir -p $(TESTSOUNDS)
93 -$(SOX) -r 44100 -b 16 -n "$(TESTSOUNDS)/44100Hz_1f_silence.wav" synth 1s silence 0
94 -$(SOX) -r 22050 -b 16 -n "$(TESTSOUNDS)/22050Hz_5s_brownnoise.wav" synth 5 brownnoise vol 0.9
95 -$(SOX) -r 32000 -b 16 -n "$(TESTSOUNDS)/32000Hz_127f_sine440.wav" synth 127s sine 440 vol 0.9
96 -$(SOX) -r 8000 -b 16 -n "$(TESTSOUNDS)/8000Hz_30s_silence.wav" synth 30 silence 0 vol 0.9
97 -$(SOX) -r 48000 -b 32 -n "$(TESTSOUNDS)/48000Hz_60s_sweep.wav" synth 60 sine 100-20000 vol 0.9