bootstrap/config.py: adjust package list to align current ci image
[gd/samba-autobuild/.git] / Makefile
1 # simple makefile wrapper to run waf
2
3 WAF_BINARY=$(PYTHON) ./buildtools/bin/waf
4 WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
5
6 all:
7         $(WAF) build
8
9 install:
10         $(WAF) install
11
12 uninstall:
13         $(WAF) uninstall
14
15 test:
16         $(WAF) test $(TEST_OPTIONS)
17
18 perftest:
19         $(WAF) test --perf-test $(TEST_OPTIONS)
20
21 help:
22         @echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
23         $(WAF) --help
24
25 subunit-test:
26         $(WAF) test --filtered-subunit $(TEST_OPTIONS)
27
28 testenv:
29         $(WAF) test --testenv $(TEST_OPTIONS)
30
31 gdbtestenv:
32         $(WAF) test --testenv --gdbtest $(TEST_OPTIONS)
33
34 quicktest:
35         $(WAF) test --quick $(TEST_OPTIONS)
36
37 randomized-test:
38         $(WAF) test --random-order $(TEST_OPTIONS)
39
40 testlist:
41         $(WAF) test --list $(TEST_OPTIONS)
42
43 test-nopython:
44         $(WAF) test --no-subunit-filter --test-list=selftest/no-python-tests.txt $(TEST_OPTIONS)
45
46 dist:
47         touch .tmplock
48         WAFLOCK=.tmplock $(WAF) dist
49
50 distcheck:
51         touch .tmplock
52         WAFLOCK=.tmplock $(WAF) distcheck
53
54 clean:
55         $(WAF) clean
56
57 distclean:
58         $(WAF) distclean
59
60 reconfigure: configure
61         $(WAF) reconfigure
62
63 show_waf_options:
64         $(WAF) --help
65
66 # some compatibility make targets
67 everything: all
68
69 testsuite: all
70
71 check: test
72
73 torture: all
74
75 # this should do an install as well, once install is finished
76 installcheck: test
77
78 etags:
79         $(WAF) etags
80
81 ctags:
82         $(WAF) ctags
83
84 pydoctor:
85         $(WAF) pydoctor
86
87 pep8:
88         $(WAF) pep8
89
90 # Adding force on the depencies will force the target to be always rebuild form the Make
91 # point of view forcing make to invoke waf
92
93 bin/smbd: FORCE
94         $(WAF) --targets=smbd/smbd
95
96 bin/winbindd: FORCE
97         $(WAF) --targets=winbindd/winbindd
98
99 bin/nmbd: FORCE
100         $(WAF) --targets=nmbd/nmbd
101
102 bin/smbclient: FORCE
103         $(WAF) --targets=client/smbclient
104
105 # this allows for things like "make bin/smbtorture"
106 # mainly for the binary that don't have a broken mode like smbd that must
107 # be build with smbd/smbd
108 bin/%: FORCE
109         $(WAF) --targets=$(subst bin/,,$@)
110
111 # Catch all rule to be able to call make service_repl in order to find the name
112 # of the submodule you want to build, look at the wscript
113 %:
114         $(WAF) --targets=$@
115
116 # This rule has to be the last one
117 FORCE:
118 # Having .NOTPARALLEL will force make to do target once at a time but still -j
119 # will be present in the MAKEFLAGS that are in turn interpreted by WAF
120 # so only 1 waf at a time will be called but it will still be able to do parralel builds if
121 # instructed to do so
122 .NOTPARALLEL: %
123 .PHONY: FORCE everything testsuite check torture