Fix build not to always use code coverage.
[samba.git] / source4 / torture / config.mk
1 # TORTURE subsystem
2 [LIBRARY::torture]
3 PRIVATE_PROTO_HEADER = proto.h
4 PUBLIC_DEPENDENCIES = \
5                 LIBSAMBA-HOSTCONFIG \
6                 LIBSAMBA-UTIL \
7                 LIBTALLOC \
8                 LIBPOPT
9
10 PC_FILES += torture/torture.pc
11 torture_OBJ_FILES = $(addprefix torture/, torture.o ui.o)
12
13 PUBLIC_HEADERS += torture/torture.h torture/ui.h
14
15 [SUBSYSTEM::TORTURE_UTIL]
16 PRIVATE_DEPENDENCIES = LIBCLI_RAW LIBPYTHON smbcalls PROVISION
17 PUBLIC_DEPENDENCIES = POPT_CREDENTIALS
18
19 TORTURE_UTIL_OBJ_FILES = $(addprefix torture/, util_smb.o)
20
21 #################################
22 # Start SUBSYSTEM TORTURE_BASIC
23 [MODULE::TORTURE_BASIC]
24 SUBSYSTEM = torture
25 INIT_FUNCTION = torture_base_init
26 PRIVATE_PROTO_HEADER = \
27                 basic/proto.h
28 PRIVATE_DEPENDENCIES = \
29                 LIBCLI_SMB POPT_CREDENTIALS \
30                 TORTURE_UTIL LIBCLI_RAW \
31                 TORTURE_RAW
32 # End SUBSYSTEM TORTURE_BASIC
33 #################################
34
35 TORTURE_BASIC_OBJ_FILES = $(addprefix torture/basic/,  \
36                 base.o \
37                 misc.o \
38                 scanner.o \
39                 utable.o \
40                 charset.o \
41                 mangle_test.o \
42                 denytest.o \
43                 aliases.o \
44                 locking.o \
45                 secleak.o \
46                 rename.o \
47                 dir.o \
48                 delete.o \
49                 unlink.o \
50                 disconnect.o \
51                 delaywrite.o \
52                 attr.o \
53                 properties.o)
54
55
56 #################################
57 # Start SUBSYSTEM TORTURE_RAW
58 [MODULE::TORTURE_RAW]
59 SUBSYSTEM = torture
60 INIT_FUNCTION = torture_raw_init
61 PRIVATE_PROTO_HEADER = \
62                 raw/proto.h
63 PRIVATE_DEPENDENCIES = \
64                 LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE \
65                 POPT_CREDENTIALS TORTURE_UTIL
66 # End SUBSYSTEM TORTURE_RAW
67 #################################
68
69 TORTURE_RAW_OBJ_FILES = $(addprefix torture/raw/, \
70                 qfsinfo.o \
71                 qfileinfo.o \
72                 setfileinfo.o \
73                 search.o \
74                 close.o \
75                 open.o \
76                 mkdir.o \
77                 oplock.o \
78                 notify.o \
79                 mux.o \
80                 ioctl.o \
81                 chkpath.o \
82                 unlink.o \
83                 read.o \
84                 context.o \
85                 write.o \
86                 lock.o \
87                 pingpong.o \
88                 lockbench.o \
89                 openbench.o \
90                 rename.o \
91                 eas.o \
92                 streams.o \
93                 acls.o \
94                 seek.o \
95                 samba3hide.o \
96                 samba3misc.o \
97                 composite.o \
98                 raw.o \
99                 offline.o)
100
101
102 mkinclude smb2/config.mk
103 mkinclude winbind/config.mk
104
105 [SUBSYSTEM::TORTURE_NDR]
106 PRIVATE_PROTO_HEADER = ndr/proto.h
107
108 TORTURE_NDR_OBJ_FILES = $(addprefix torture/ndr/, ndr.o winreg.o atsvc.o lsa.o epmap.o dfs.o netlogon.o drsuapi.o spoolss.o samr.o)
109
110 [MODULE::torture_rpc]
111 # TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
112 #OUTPUT_TYPE = MERGED_OBJ
113 SUBSYSTEM = torture
114 INIT_FUNCTION = torture_rpc_init
115 PRIVATE_PROTO_HEADER = \
116                 rpc/proto.h
117 PRIVATE_DEPENDENCIES = \
118                 NDR_TABLE RPC_NDR_UNIXINFO dcerpc_samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
119                 RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
120                 RPC_NDR_NETLOGON dcerpc_atsvc dcerpc_mgmt RPC_NDR_DRSUAPI \
121                 RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS \
122                 RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP \
123                 RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER WB_HELPER LIBSAMBA-NET \
124                 LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP \
125                 dcerpc_server service process_model ntvfs SERVICE_SMB
126
127 torture_rpc_OBJ_FILES = $(addprefix torture/rpc/, \
128                 join.o lsa.o lsa_lookup.o session_key.o echo.o dfs.o drsuapi.o \
129                 drsuapi_cracknames.o dssync.o spoolss.o spoolss_notify.o spoolss_win.o \
130                 unixinfo.o samr.o samr_accessmask.o wkssvc.o srvsvc.o svcctl.o atsvc.o \
131                 eventlog.o epmapper.o winreg.o initshutdown.o oxidresolve.o remact.o mgmt.o \
132                 scanner.o autoidl.o countcalls.o testjoin.o schannel.o netlogon.o samlogon.o \
133                 samsync.o bind.o dssetup.o alter_context.o bench.o samba3rpc.o rpc.o async_bind.o \
134                 handles.o frsapi.o)
135
136 #################################
137 # Start SUBSYSTEM TORTURE_RAP
138 [MODULE::TORTURE_RAP]
139 SUBSYSTEM = torture
140 INIT_FUNCTION = torture_rap_init
141 PRIVATE_PROTO_HEADER = \
142                 rap/proto.h
143 PRIVATE_DEPENDENCIES = TORTURE_UTIL LIBCLI_SMB
144 # End SUBSYSTEM TORTURE_RAP
145 #################################
146
147 TORTURE_RAP_OBJ_FILES = torture/rap/rap.o
148
149 #################################
150 # Start SUBSYSTEM TORTURE_AUTH
151 [MODULE::TORTURE_AUTH]
152 SUBSYSTEM = torture
153 PRIVATE_PROTO_HEADER = \
154                 auth/proto.h
155 PRIVATE_DEPENDENCIES = \
156                 LIBCLI_SMB gensec auth KERBEROS \
157                 POPT_CREDENTIALS SMBPASSWD
158 # End SUBSYSTEM TORTURE_AUTH
159 #################################
160
161 TORTURE_AUTH_OBJ_FILES = $(addprefix torture/auth/, ntlmssp.o pac.o)
162
163 mkinclude local/config.mk
164
165 #################################
166 # Start MODULE TORTURE_NBENCH
167 [MODULE::TORTURE_NBENCH]
168 SUBSYSTEM = torture
169 INIT_FUNCTION = torture_nbench_init
170 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
171 PRIVATE_PROTO_HEADER = \
172                 nbench/proto.h
173 # End MODULE TORTURE_NBENCH
174 #################################
175
176 TORTURE_NBENCH_OBJ_FILES = $(addprefix torture/nbench/, nbio.o nbench.o)
177
178 #################################
179 # Start MODULE TORTURE_UNIX
180 [MODULE::TORTURE_UNIX]
181 SUBSYSTEM = torture
182 INIT_FUNCTION = torture_unix_init
183 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
184 PRIVATE_PROTO_HEADER = \
185                 unix/proto.h
186 # End MODULE TORTURE_UNIX
187 #################################
188
189 TORTURE_UNIX_OBJ_FILES = $(addprefix torture/unix/, unix.o whoami.o unix_info2.o)
190
191 #################################
192 # Start SUBSYSTEM TORTURE_LDAP
193 [MODULE::TORTURE_LDAP]
194 SUBSYSTEM = torture
195 INIT_FUNCTION = torture_ldap_init
196 PRIVATE_PROTO_HEADER = \
197                 ldap/proto.h
198 PRIVATE_DEPENDENCIES = \
199                 LIBCLI_LDAP LIBCLI_CLDAP SAMDB POPT_CREDENTIALS
200 # End SUBSYSTEM TORTURE_LDAP
201 #################################
202
203 TORTURE_LDAP_OBJ_FILES = $(addprefix torture/ldap/, common.o basic.o schema.o uptodatevector.o cldap.o cldapbench.o)
204
205
206 #################################
207 # Start SUBSYSTEM TORTURE_NBT
208 [MODULE::TORTURE_NBT]
209 SUBSYSTEM = torture
210 INIT_FUNCTION = torture_nbt_init
211 PRIVATE_PROTO_HEADER = \
212                 nbt/proto.h
213 PRIVATE_DEPENDENCIES = \
214                 LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL torture_rpc
215 # End SUBSYSTEM TORTURE_NBT
216 #################################
217
218 TORTURE_NBT_OBJ_FILES = $(addprefix torture/nbt/, query.o register.o \
219         wins.o winsbench.o winsreplication.o dgram.o nbt.o)
220
221
222 #################################
223 # Start SUBSYSTEM TORTURE_NET
224 [MODULE::TORTURE_NET]
225 SUBSYSTEM = torture
226 INIT_FUNCTION = torture_net_init
227 PRIVATE_PROTO_HEADER = \
228                 libnet/proto.h
229 PRIVATE_DEPENDENCIES = \
230                 LIBSAMBA-NET \
231                 POPT_CREDENTIALS \
232                 torture_rpc
233 # End SUBSYSTEM TORTURE_NET
234 #################################
235
236 TORTURE_NET_OBJ_FILES = $(addprefix torture/libnet/, libnet.o \
237                                            utils.o userinfo.o userman.o groupinfo.o groupman.o \
238                                            domain.o libnet_lookup.o libnet_user.o libnet_group.o \
239                                            libnet_share.o libnet_rpc.o libnet_domain.o libnet_BecomeDC.o)
240
241
242 #################################
243 # Start BINARY smbtorture
244 [BINARY::smbtorture]
245 INSTALLDIR = BINDIR
246 PRIVATE_DEPENDENCIES = \
247                 torture \
248                 LIBPOPT \
249                 POPT_SAMBA \
250                 POPT_CREDENTIALS \
251                 dcerpc \
252                 LIBCLI_SMB \
253                 SMBREADLINE
254 # End BINARY smbtorture
255 #################################
256
257 smbtorture_OBJ_FILES = torture/smbtorture.o
258
259 MANPAGES += torture/man/smbtorture.1
260
261 #################################
262 # Start BINARY gentest
263 [BINARY::gentest]
264 INSTALLDIR = BINDIR
265 PRIVATE_DEPENDENCIES = \
266                 LIBSAMBA-HOSTCONFIG \
267                 LIBSAMBA-UTIL \
268                 LIBPOPT \
269                 POPT_SAMBA \
270                 POPT_CREDENTIALS \
271                 LIBCLI_SMB \
272                 LIBCLI_RAW
273 # End BINARY gentest
274 #################################
275
276 gentest_OBJ_FILES = torture/gentest.o
277
278 MANPAGES += torture/man/gentest.1
279
280 #################################
281 # Start BINARY masktest
282 [BINARY::masktest]
283 INSTALLDIR = BINDIR
284 PRIVATE_DEPENDENCIES = \
285                 LIBSAMBA-HOSTCONFIG \
286                 LIBSAMBA-UTIL \
287                 LIBPOPT \
288                 POPT_SAMBA \
289                 POPT_CREDENTIALS \
290                 LIBCLI_SMB
291 # End BINARY masktest
292 #################################
293
294 masktest_OBJ_FILES = torture/masktest.o
295
296 MANPAGES += torture/man/masktest.1
297
298 #################################
299 # Start BINARY locktest
300 [BINARY::locktest]
301 INSTALLDIR = BINDIR
302 PRIVATE_DEPENDENCIES = \
303                 LIBPOPT \
304                 POPT_SAMBA \
305                 POPT_CREDENTIALS \
306                 LIBSAMBA-UTIL \
307                 LIBCLI_SMB \
308                 LIBSAMBA-HOSTCONFIG
309 # End BINARY locktest
310 #################################
311
312 locktest_OBJ_FILES = torture/locktest.o
313
314 MANPAGES += torture/man/locktest.1
315
316 GCOV=0
317
318 ifeq ($(MAKECMDGOALS),gcov)
319 GCOV=1
320 endif
321
322 ifeq ($(MAKECMDGOALS),lcov)
323 GCOV=1
324 endif
325
326 ifeq ($(MAKECMDGOALS),testcov-html)
327 GCOV=1
328 endif
329
330 ifeq ($(GCOV),1)
331 CFLAGS += --coverage
332 LDFLAGS += --coverage
333 endif
334
335 COV_TARGET = test
336
337 gcov: test
338         for I in $(sort $(dir $(ALL_OBJS))); \
339                 do $(GCOV) -p -o $$I $$I/*.c; \
340         done
341
342 lcov: test
343         -rm heimdal/lib/*/{lex,parse}.{gcda,gcno}
344         lcov --base-directory `pwd` --directory . --capture --output-file samba.info
345         genhtml -o coverage samba.info
346
347 testcov-html:: lcov