2 WAFURL=https://waf.io/waf-1.8.22
6 ENABLE_DOUBLE := $(shell [ -z $(HAVE_DOUBLE) ] || echo --enable-double )
7 TESTSOUNDS := python/tests/sounds
12 @[ -f waf ] || make getwaf
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
25 rm -rf waf waflib .waf*
28 $(WAFCMD) configure $(WAFOPTS) $(ENABLE_DOUBLE)
31 $(WAFCMD) build $(WAFOPTS)
34 python ./setup.py build_ext $(ENABLE_DOUBLE)
36 test_python: export LD_LIBRARY_PATH=$(PWD)/build/src
37 test_python: local_dylib
39 -pip uninstall -v -y aubio
43 $(WAFCMD) configure build
44 # install python requirements
45 pip install -v -r requirements.txt
51 # run test with installed package
52 ./python/tests/run_all_tests --verbose
55 pip uninstall -y -v aubio
58 # create links from ~/lib/lib* to build/src/lib*
59 [ -f build/src/libaubio.[0-9].dylib ] && ( mkdir -p ~/lib && cp -prv build/src/libaubio.[0-9].dylib ~/lib ) || true
66 -pip uninstall -v -y aubio
69 # install python requirements
70 pip install --verbose --requirement requirements.txt
72 CFLAGS=-Os python setup.py build $(ENABLE_DOUBLE)
73 # needs recompile, disabled
76 pip install --verbose .
80 # run test with installed package
81 ./python/tests/run_all_tests --verbose
84 pip uninstall -v -y aubio
86 test_pure_python_wheel:
87 -pip uninstall -v -y aubio
88 -rm -rf build/ python/gen/
90 -pip install -v -r requirements.txt
92 CFLAGS=-Os python setup.py build_ext $(ENABLE_DOUBLE) bdist_wheel --universal
93 wheel install dist/*.whl
95 pip uninstall -v -y aubio
98 python3 ./setup.py build_ext $(ENABLE_DOUBLE)
101 python3 ./setup.py clean
110 $(WAFCMD) distcheck $(WAFOPTS) $(ENABLE_DOUBLE)
116 -[ -z `which $(SOX)` ] && ( echo $(SOX) could not be found) || true
117 -mkdir -p $(TESTSOUNDS)
118 -$(SOX) -r 44100 -b 16 -n "$(TESTSOUNDS)/44100Hz_1f_silence.wav" synth 1s silence 0 dcshift .01
119 -$(SOX) -r 22050 -b 16 -n "$(TESTSOUNDS)/22050Hz_5s_brownnoise.wav" synth 5 brownnoise vol 0.9
120 -$(SOX) -r 32000 -b 16 -n "$(TESTSOUNDS)/32000Hz_127f_sine440.wav" synth 127s sine 440 vol 0.9
121 -$(SOX) -r 8000 -b 16 -n "$(TESTSOUNDS)/8000Hz_30s_silence.wav" synth 30 silence 0 vol 0.9
122 -$(SOX) -r 48000 -b 32 -n "$(TESTSOUNDS)/48000Hz_60s_sweep.wav" synth 60 sine 100-20000 vol 0.9
123 -$(SOX) -r 44100 -b 16 -n "$(TESTSOUNDS)/44100Hz_44100f_sine441.wav" synth 44100s sine 441 vol 0.9
124 -$(SOX) -r 44100 -b 16 -n "$(TESTSOUNDS)/44100Hz_100f_sine441.wav" synth 100s sine 441 vol 0.9
129 dist: distclean expandwaf