1 # simple makefile wrapper to run waf
3 WAF_BINARY=$(PYTHON) ./buildtools/bin/waf
4 WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
16 $(WAF) test $(TEST_OPTIONS)
19 $(WAF) testonly $(TEST_OPTIONS)
22 $(WAF) test --perf-test $(TEST_OPTIONS)
25 @echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
29 $(WAF) test --filtered-subunit $(TEST_OPTIONS)
32 $(WAF) test --testenv $(TEST_OPTIONS)
37 @echo ./configure --enable-coverage
39 @echo make test TESTS=mytest
43 lcov --capture --directory . --output-file lcov.info && \
44 genhtml lcov.info --output-directory public --prefix=$$(pwd) && \
45 echo Please open public/index.html in browser to view the coverage report
48 $(WAF) test --testenv --gdbtest $(TEST_OPTIONS)
51 $(WAF) test --quick $(TEST_OPTIONS)
54 $(WAF) test --random-order $(TEST_OPTIONS)
57 $(WAF) test --list $(TEST_OPTIONS)
60 $(WAF) test --no-subunit-filter --test-list=selftest/no-python-tests.txt $(TEST_OPTIONS)
64 WAFLOCK=.tmplock $(WAF) dist
68 WAFLOCK=.tmplock $(WAF) distcheck
72 WAFLOCK=.tmplock $(WAF) printversion
80 reconfigure: configure
86 # some compatibility make targets
95 # this should do an install as well, once install is finished
107 # Adding force on the dependencies will force the target to be always rebuilt from the Make
108 # point of view forcing make to invoke waf
111 $(WAF) --targets=smbd/smbd
114 $(WAF) --targets=winbindd/winbindd
117 $(WAF) --targets=nmbd/nmbd
120 $(WAF) --targets=client/smbclient
122 # this allows for things like "make bin/smbtorture"
123 # mainly for the binary that don't have a broken mode like smbd that must
124 # be built with smbd/smbd
126 $(WAF) --targets=$(subst bin/,,$@)
128 # Catch all rule to be able to call make service_repl in order to find the name
129 # of the submodule you want to build, look at the wscript
133 # This rule has to be the last one
135 # Having .NOTPARALLEL will force make to do targets one at a time but still -j
136 # will be present in the MAKEFLAGS that are in turn interpreted by WAF
137 # so only 1 waf at a time will be called but it will still be able to do parallel builds if
138 # instructed to do so
140 .PHONY: FORCE everything testsuite check torture