1# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
2#
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, you can obtain one at https://mozilla.org/MPL/2.0/.
6#
7# See the COPYRIGHT file distributed with this work for additional
8# information regarding copyright ownership.
9
10srcdir =	@srcdir@
11VPATH =		@srcdir@
12top_srcdir =	@top_srcdir@
13
14VERSION=@BIND9_VERSION@
15
16@BIND9_MAKE_INCLUDES@
17
18CINCLUDES =	${DNS_INCLUDES} ${ISC_INCLUDES} @DST_OPENSSL_INC@
19
20CDEFINES =	-DVERSION=\"${VERSION}\" @USE_PKCS11@ @PKCS11_ENGINE@ \
21		@CRYPTO@ -DPK11_LIB_LOCATION=\"@PKCS11_PROVIDER@\"
22CWARNINGS =
23
24DNSLIBS =	../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@
25ISCLIBS =	../../lib/isc/libisc.@A@
26ISCNOSYMLIBS =	../../lib/isc/libisc-nosymtbl.@A@
27
28DNSDEPLIBS =	../../lib/dns/libdns.@A@
29ISCDEPLIBS =	../../lib/isc/libisc.@A@
30
31DEPLIBS =	${DNSDEPLIBS} ${ISCDEPLIBS}
32
33LIBS =		${DNSLIBS} ${ISCLIBS} @LIBS@
34
35NOSYMLIBS =	${DNSLIBS} ${ISCNOSYMLIBS} @LIBS@
36
37# Alphabetically
38TARGETS =	dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ \
39		dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@ \
40		dnssec-revoke@EXEEXT@ dnssec-settime@EXEEXT@ \
41		dnssec-verify@EXEEXT@ dnssec-importkey@EXEEXT@
42
43OBJS =		dnssectool.@O@
44
45SRCS =		dnssec-dsfromkey.c dnssec-keyfromlabel.c dnssec-keygen.c \
46		dnssec-revoke.c dnssec-settime.c dnssec-signzone.c \
47		dnssec-verify.c dnssec-importkey.c dnssectool.c
48
49MANPAGES =	dnssec-dsfromkey.8 dnssec-keyfromlabel.8 dnssec-keygen.8 \
50		dnssec-revoke.8 dnssec-settime.8 dnssec-signzone.8 \
51		dnssec-verify.8 dnssec-importkey.8
52
53HTMLPAGES =	dnssec-dsfromkey.html dnssec-keyfromlabel.html \
54		dnssec-keygen.html dnssec-revoke.html \
55		dnssec-settime.html dnssec-signzone.html \
56		dnssec-verify.html dnssec-importkey.html
57
58MANOBJS =	${MANPAGES} ${HTMLPAGES}
59
60@BIND9_MAKE_RULES@
61
62dnssec-dsfromkey@EXEEXT@: dnssec-dsfromkey.@O@ ${OBJS} ${DEPLIBS}
63	export BASEOBJS="dnssec-dsfromkey.@O@ ${OBJS}"; \
64	${FINALBUILDCMD}
65
66dnssec-keyfromlabel@EXEEXT@: dnssec-keyfromlabel.@O@ ${OBJS} ${DEPLIBS}
67	export BASEOBJS="dnssec-keyfromlabel.@O@ ${OBJS}"; \
68	${FINALBUILDCMD}
69
70dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
71	export BASEOBJS="dnssec-keygen.@O@ ${OBJS}"; \
72	${FINALBUILDCMD}
73
74dnssec-signzone.@O@: dnssec-signzone.c
75	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
76		-c ${srcdir}/dnssec-signzone.c
77
78dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
79	export BASEOBJS="dnssec-signzone.@O@ ${OBJS}"; \
80	${FINALBUILDCMD}
81
82dnssec-verify.@O@: dnssec-verify.c
83	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
84		-c ${srcdir}/dnssec-verify.c
85
86dnssec-verify@EXEEXT@: dnssec-verify.@O@ ${OBJS} ${DEPLIBS}
87	export BASEOBJS="dnssec-verify.@O@ ${OBJS}"; \
88	${FINALBUILDCMD}
89
90dnssec-revoke@EXEEXT@: dnssec-revoke.@O@ ${OBJS} ${DEPLIBS}
91	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
92	dnssec-revoke.@O@ ${OBJS} ${LIBS}
93
94dnssec-settime@EXEEXT@: dnssec-settime.@O@ ${OBJS} ${DEPLIBS}
95	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
96	dnssec-settime.@O@ ${OBJS} ${LIBS}
97
98dnssec-importkey@EXEEXT@: dnssec-importkey.@O@ ${OBJS} ${DEPLIBS}
99	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
100	dnssec-importkey.@O@ ${OBJS} ${LIBS}
101
102doc man:: ${MANOBJS}
103
104docclean manclean maintainer-clean::
105	rm -f ${MANOBJS}
106
107installdirs:
108	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
109	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
110
111install:: ${TARGETS} installdirs
112	for t in ${TARGETS}; do ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} $$t ${DESTDIR}${sbindir} || exit 1; done
113	for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8 || exit 1; done
114
115uninstall::
116	for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m || exit 1; done
117	for t in ${TARGETS}; do ${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/$$t || exit 1; done
118
119clean distclean::
120	rm -f ${TARGETS}
121
122