buildsystem tooling
[exim.git] / test / Makefile.in
1 # This Makefile builds the support programs for the Exim test suite.
2
3 ##############################################################################
4 # These variables are set by the configure script.
5
6 CC=@CC@
7 CFLAGS=@CFLAGS@ @CPPFLAGS@ @BIND_8_COMPAT@ @DEFS@
8 LDFLAGS=@LDFLAGS@
9 CLIENT_OPENSSL=@CLIENT_OPENSSL@
10 CLIENT_GNUTLS=@CLIENT_GNUTLS@
11 CLIENT_ANYTLS=@CLIENT_ANYTLS@
12 LOADED=@LOADED@
13 LOADED_OPT=@LOADED_OPT@
14 LIBS=@LIBS@
15
16 SRC = @srcdir@/src
17
18 ##############################################################################
19
20 BINARIES =      bin/cf bin/client $(CLIENT_OPENSSL) $(CLIENT_GNUTLS) $(CLIENT_ANYTLS) \
21                 bin/checkaccess bin/fakens bin/fd bin/iefbr14 $(LOADED) \
22                 bin/mtpscript bin/server bin/showids bin/locate \
23
24 # List of targets
25
26 all:            binaries sysbinaries
27
28 binaries:       $(BINARIES)
29
30 sysbinaries:    FORCE binaries
31                 rm -f bin.sys/*
32                 bin/locate initdb postgres pg_ctl psql mysqld mysql
33                 ls -la bin.sys
34
35 # Compile and link the programs:
36 #
37 # bin/cf              a "compare" program
38 # bin/checkaccess     tests whether the exim uid/gid can access the files
39 # bin/client          an SMTP script-driven client, without TLS support
40 # bin/client-gnutls   ditto, with GnuTLS support
41 # bin/client-ssl      ditto, with OpenSSL support
42 # bin/fakens          a fake nameserver
43 # bin/fd              output details of open file descriptors
44 # bin/iefbr14         a program that does nothing and returns 0
45 # bin/loaded          a dynamically loaded test module
46 # bin/mtpscript       an LMTP/SMTP "server" that works on stdin/stdout
47 # bin/server          an SMTP (socket) script-driven server (no TLS support)
48 # bin/showids         output current uid, gid, euid, egid
49
50 bin/cf:         $(SRC)/cf.c Makefile
51                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/cf $(SRC)/cf.c
52
53 bin/client:     $(SRC)/client.c Makefile
54                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/client $(SRC)/client.c $(LIBS)
55
56 bin/client-gnutls: $(SRC)/client.c Makefile
57                 $(CC) $(CFLAGS) -DHAVE_GNUTLS $(LDFLAGS) -o bin/client-gnutls $(SRC)/client.c -lgnutls -lgcrypt $(LIBS)
58
59 bin/client-ssl: $(SRC)/client.c Makefile
60                 $(CC) $(CFLAGS) -DHAVE_OPENSSL $(LDFLAGS) -o bin/client-ssl $(SRC)/client.c -lssl -lcrypto $(LIBS)
61
62 $(CLIENT_ANYTLS): $(CLIENT_GNUTLS) $(CLIENT_OPENSSL)
63                 [ -n "$(CLIENT_GNUTLS)" ] && ln -sf `basename $(CLIENT_GNUTLS)` $@ || ln -sf `basename $(CLIENT_OPENSSL)` $@
64
65 bin/checkaccess:$(SRC)/checkaccess.c Makefile
66                 $(CC) $(CFLAGS) -DNO_TLS $(LDFLAGS) -o bin/checkaccess $(SRC)/checkaccess.c
67
68 bin/fakens:     $(SRC)/fakens.c Makefile
69                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fakens $(SRC)/fakens.c $(LIBS)
70
71 bin/fd:         $(SRC)/fd.c Makefile
72                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fd $(SRC)/fd.c
73
74 bin/iefbr14:    $(SRC)/iefbr14.c Makefile
75                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/iefbr14 $(SRC)/iefbr14.c
76
77 bin/loaded:     $(SRC)/loaded.c Makefile
78                 $(CC) $(CFLAGS) $(LDFLAGS) $(LOADED_OPT) -o bin/loaded $(SRC)/loaded.c
79
80 bin/mtpscript:  $(SRC)/mtpscript.c Makefile
81                 $(CC) $(CFLAGS) $(LDFLAGS) $(mtpscript_OPT) -o bin/mtpscript $(SRC)/mtpscript.c
82
83 bin/server:     $(SRC)/server.c Makefile
84                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/server $(SRC)/server.c $(LIBS)
85
86 bin/showids:    $(SRC)/showids.c Makefile
87                 $(CC) $(CFLAGS) $(LDFLAGS) -o bin/showids $(SRC)/showids.c
88
89 bin/locate:     $(SRC)/locate.sh Makefile
90                 cp $(SRC)/locate.pl bin/locate
91                 chmod 0755 bin/locate
92
93 clean:;         rm -rf $(BINARIES) bin.sys
94
95 FORCE:
96
97 # End