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