# These variables are set by the configure script.
CC=@CC@
-CFLAGS=@CFLAGS@ @BIND_8_COMPAT@
+CFLAGS=@CFLAGS@ @CPPFLAGS@ @BIND_8_COMPAT@ @DEFS@
LDFLAGS=@LDFLAGS@
-CLIENT_SSL=@CLIENT_SSL@
+CLIENT_OPENSSL=@CLIENT_OPENSSL@
CLIENT_GNUTLS=@CLIENT_GNUTLS@
+CLIENT_ANYTLS=@CLIENT_ANYTLS@
LOADED=@LOADED@
LOADED_OPT=@LOADED_OPT@
+LIBS=@LIBS@
+
+SRC = @srcdir@/src
##############################################################################
+BINARIES = bin/cf bin/client $(CLIENT_OPENSSL) $(CLIENT_GNUTLS) $(CLIENT_ANYTLS) \
+ bin/checkaccess bin/fakens bin/fd bin/iefbr14 $(LOADED) \
+ bin/mtpscript bin/server bin/showids bin/locate \
+
# List of targets
-all: makebin bin/cf bin/client $(CLIENT_SSL) $(CLIENT_GNUTLS) \
- bin/checkaccess bin/fakens bin/fd bin/iefbr14 $(LOADED) \
- bin/mtpscript bin/server bin/showids
+all: binaries sysbinaries
-# Ensure the bin directory exists
+binaries: $(BINARIES)
-makebin:; @if [ ! -e bin ] ; then mkdir bin 2>/dev/null; echo ""; fi
+sysbinaries: FORCE binaries
+ bin/locate initdb postgres pg_ctl psql mysqld mysql
+ ls -la bin.sys
# Compile and link the programs:
#
-# bin/cf a "compare" program
+# bin/cf a "compare" program
# bin/checkaccess tests whether the exim uid/gid can access the files
# bin/client an SMTP script-driven client, without TLS support
# bin/client-gnutls ditto, with GnuTLS support
# bin/client-ssl ditto, with OpenSSL support
-# bin/fakens a fake namserver
+# bin/fakens a fake nameserver
# bin/fd output details of open file descriptors
# bin/iefbr14 a program that does nothing and returns 0
# bin/loaded a dynamically loaded test module
# bin/server an SMTP (socket) script-driven server (no TLS support)
# bin/showids output current uid, gid, euid, egid
-bin/cf: src/cf.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/cf src/cf.c
- @echo ">>> bin/cf command build"
- @echo " "
-
-bin/client: src/client.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/client src/client.c
- @echo ">>> bin/client command built"
- @echo " "
-
-bin/client-gnutls: src/client.c Makefile
- $(CC) $(CFLAGS) -DHAVE_GNUTLS $(LDFLAGS) -o bin/client-gnutls src/client.c -lgnutls -lgcrypt
- @echo ">>> bin/client-gnutls command built"
- @echo " "
-
-bin/client-ssl: src/client.c Makefile
- $(CC) $(CFLAGS) -DHAVE_OPENSSL $(LDFLAGS) -o bin/client-ssl src/client.c -lssl -lcrypto
- @echo ">>> bin/client-ssl command built"
- @echo " "
-
-bin/checkaccess:src/checkaccess.c Makefile
- $(CC) $(CFLAGS) -DNO_TLS $(LDFLAGS) -o bin/checkaccess src/checkaccess.c
- @echo ">>> bin/checkaccess command built"
- @echo " "
-
-bin/fakens: src/fakens.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fakens src/fakens.c
- @echo ">>> bin/fakens command built"
- @echo " "
-
-bin/fd: src/fd.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fd src/fd.c
- @echo ">>> bin/fd command built"
- @echo " "
-
-bin/iefbr14: src/iefbr14.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/iefbr14 src/iefbr14.c
- @echo ">>> bin/iefbr14 command built"
- @echo " "
-
-bin/loaded: src/loaded.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) $(LOADED_OPT) -o bin/loaded src/loaded.c
- @echo ">>> bin/loaded command built"
- @echo " "
-
-bin/mtpscript: src/mtpscript.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) $(mtpscript_OPT) -o bin/mtpscript src/mtpscript.c
- @echo ">>> bin/mtpscript command built"
- @echo " "
-
-bin/server: src/server.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/server src/server.c
- @echo ">>> bin/server command built"
- @echo " "
-
-bin/showids: src/showids.c Makefile
- $(CC) $(CFLAGS) $(LDFLAGS) -o bin/showids src/showids.c
- @echo ">>> bin/showids command built"
- @echo " "
-
-clean:; rm -rf bin/*
+bin/cf: $(SRC)/cf.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/cf $(SRC)/cf.c
+
+bin/client: $(SRC)/client.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/client $(SRC)/client.c $(LIBS)
+
+bin/client-gnutls: $(SRC)/client.c Makefile
+ $(CC) $(CFLAGS) -DHAVE_GNUTLS $(LDFLAGS) -o bin/client-gnutls $(SRC)/client.c -lgnutls -lgcrypt $(LIBS)
+
+bin/client-ssl: $(SRC)/client.c Makefile
+ $(CC) $(CFLAGS) -DHAVE_OPENSSL $(LDFLAGS) -o bin/client-ssl $(SRC)/client.c -lssl -lcrypto $(LIBS)
+
+$(CLIENT_ANYTLS): $(CLIENT_GNUTLS) $(CLIENT_OPENSSL)
+ [ -n "$(CLIENT_GNUTLS)" ] && ln -sf `basename $(CLIENT_GNUTLS)` $@ || ln -sf `basename $(CLIENT_OPENSSL)` $@
+
+bin/checkaccess:$(SRC)/checkaccess.c Makefile
+ $(CC) $(CFLAGS) -DNO_TLS $(LDFLAGS) -o bin/checkaccess $(SRC)/checkaccess.c
+
+bin/fakens: $(SRC)/fakens.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fakens $(SRC)/fakens.c $(LIBS)
+
+bin/fd: $(SRC)/fd.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/fd $(SRC)/fd.c
+
+bin/iefbr14: $(SRC)/iefbr14.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/iefbr14 $(SRC)/iefbr14.c
+
+bin/loaded: $(SRC)/loaded.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LOADED_OPT) -o bin/loaded $(SRC)/loaded.c
+
+bin/mtpscript: $(SRC)/mtpscript.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) $(mtpscript_OPT) -o bin/mtpscript $(SRC)/mtpscript.c
+
+bin/server: $(SRC)/server.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/server $(SRC)/server.c $(LIBS)
+
+bin/showids: $(SRC)/showids.c Makefile
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bin/showids $(SRC)/showids.c
+
+bin/locate: $(SRC)/locate.sh Makefile
+ cp $(SRC)/locate.pl bin/locate
+ chmod 0755 bin/locate
+
+clean:; rm -rf $(BINARIES) bin.sys
+
+FORCE:
# End