1# Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC") 2# Copyright (C) 1998-2003 Internet Software Consortium. 3# 4# Permission to use, copy, modify, and/or distribute this software for any 5# purpose with or without fee is hereby granted, provided that the above 6# copyright notice and this permission notice appear in all copies. 7# 8# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 9# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 10# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 11# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 12# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 13# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 14# PERFORMANCE OF THIS SOFTWARE. 15 16srcdir = @srcdir@ 17VPATH = @srcdir@ 18top_srcdir = @top_srcdir@ 19 20# Attempt to disable parallel processing. 21.NOTPARALLEL: 22.NO_PARALLEL: 23 24@BIND9_VERSION@ 25@BIND9_MAJOR@ 26 27@LIBDNS_MAPAPI@ 28 29@LIBDNS_API@ 30 31@BIND9_MAKE_INCLUDES@ 32 33USE_ISC_SPNEGO = @USE_ISC_SPNEGO@ 34 35CINCLUDES = -I. -I${top_srcdir}/lib/dns -Iinclude ${DNS_INCLUDES} \ 36 ${ISC_INCLUDES} @DST_OPENSSL_INC@ @DST_GSSAPI_INC@ 37 38CDEFINES = -DUSE_MD5 @CRYPTO@ @USE_GSSAPI@ ${USE_ISC_SPNEGO} 39 40CWARNINGS = 41 42ISCLIBS = ../../lib/isc/libisc.@A@ 43 44ISCDEPLIBS = ../../lib/isc/libisc.@A@ 45 46LIBS = @LIBS@ 47 48# Alphabetically 49 50OPENSSLGOSTLINKOBJS = opensslgost_link.@O@ 51OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \ 52 opensslecdsa_link.@O@ @OPENSSLGOSTLINKOBJS@ \ 53 opensslrsa_link.@O@ 54 55PKCS11LINKOBJS = pkcs11dh_link.@O@ pkcs11dsa_link.@O@ pkcs11rsa_link.@O@ \ 56 pkcs11ecdsa_link.@O@ pkcs11gost_link.@O@ pkcs11.@O@ 57 58DSTOBJS = @DST_EXTRA_OBJS@ @OPENSSLLINKOBJS@ @PKCS11LINKOBJS@ \ 59 dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \ 60 gssapi_link.@O@ gssapictx.@O@ hmac_link.@O@ key.@O@ 61 62GEOIPLINKOBJS = geoip.@O@ 63 64# Alphabetically 65DNSOBJS = acache.@O@ acl.@O@ adb.@O@ byaddr.@O@ \ 66 cache.@O@ callbacks.@O@ clientinfo.@O@ compress.@O@ \ 67 db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \ 68 dlz.@O@ dns64.@O@ dnssec.@O@ ds.@O@ forward.@O@ \ 69 iptable.@O@ journal.@O@ keydata.@O@ keytable.@O@ \ 70 lib.@O@ log.@O@ lookup.@O@ \ 71 master.@O@ masterdump.@O@ message.@O@ \ 72 name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ order.@O@ peer.@O@ \ 73 portlist.@O@ private.@O@ \ 74 rbt.@O@ rbtdb.@O@ rbtdb64.@O@ rcode.@O@ rdata.@O@ \ 75 rdatalist.@O@ rdataset.@O@ rdatasetiter.@O@ rdataslab.@O@ \ 76 request.@O@ resolver.@O@ result.@O@ rootns.@O@ \ 77 rpz.@O@ rrl.@O@ rriterator.@O@ sdb.@O@ \ 78 sdlz.@O@ soa.@O@ ssu.@O@ ssu_external.@O@ \ 79 stats.@O@ tcpmsg.@O@ time.@O@ timer.@O@ tkey.@O@ \ 80 tsec.@O@ tsig.@O@ ttl.@O@ update.@O@ validator.@O@ \ 81 version.@O@ view.@O@ xfrin.@O@ zone.@O@ zonekey.@O@ zt.@O@ 82PORTDNSOBJS = client.@O@ ecdb.@O@ 83 84OBJS= ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} ${PORTDNSOBJS} \ 85 @GEOIPLINKOBJS@ 86 87 88# Alphabetically 89OPENSSLGOSTLINKSRCS = opensslgost_link.c 90OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \ 91 opensslecdsa_link.c @OPENSSLGOSTLINKSRCS@ opensslrsa_link.c 92 93PKCS11LINKSRCS = pkcs11dh_link.c pkcs11dsa_link.c pkcs11rsa_link.c \ 94 pkcs11ecdsa_link.c pkcs11gost_link.c pkcs11.c 95 96DSTSRCS = @DST_EXTRA_SRCS@ @OPENSSLLINKSRCS@ @PKCS11LINKSRCS@ \ 97 dst_api.c dst_lib.c dst_parse.c \ 98 dst_result.c gssapi_link.c gssapictx.c \ 99 hmac_link.c key.c 100 101GEOIOLINKSRCS = geoip.c 102 103DNSSRCS = acache.c acl.c adb.c byaddr.c \ 104 cache.c callbacks.c clientinfo.c compress.c \ 105 db.c dbiterator.c dbtable.c diff.c dispatch.c \ 106 dlz.c dns64.c dnssec.c ds.c forward.c geoip.c \ 107 iptable.c journal.c keydata.c keytable.c lib.c log.c \ 108 lookup.c master.c masterdump.c message.c \ 109 name.c ncache.c nsec.c nsec3.c order.c peer.c portlist.c \ 110 rbt.c rbtdb.c rbtdb64.c rcode.c rdata.c rdatalist.c \ 111 rdataset.c rdatasetiter.c rdataslab.c request.c \ 112 resolver.c result.c rootns.c rpz.c rrl.c rriterator.c \ 113 sdb.c sdlz.c soa.c ssu.c ssu_external.c \ 114 stats.c tcpmsg.c time.c timer.c tkey.c \ 115 tsec.c tsig.c ttl.c update.c validator.c \ 116 version.c view.c xfrin.c zone.c zonekey.c zt.c ${OTHERSRCS} 117PORTDNSSRCS = client.c ecdb.c 118 119SRCS = ${DSTSRCS} ${DNSSRCS} ${PORTDNSSRCS} @GEOIPLINKSRCS@ 120 121SUBDIRS = include 122TARGETS = include/dns/enumtype.h include/dns/enumclass.h \ 123 include/dns/rdatastruct.h timestamp 124TESTDIRS = @UNITTESTS@ 125 126DEPENDEXTRA = ./gen -F include/dns/rdatastruct.h \ 127 -s ${srcdir} -d >> Makefile ; 128 129@BIND9_MAKE_RULES@ 130 131version.@O@: version.c 132 ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ 133 -DVERSION=\"${VERSION}\" \ 134 -DMAJOR=\"${MAJOR}\" \ 135 -DMAPAPI=\"${MAPAPI}\" \ 136 -DLIBINTERFACE=${LIBINTERFACE} \ 137 -DLIBREVISION=${LIBREVISION} \ 138 -DLIBAGE=${LIBAGE} \ 139 -c ${srcdir}/version.c 140 141libdns.@SA@: ${OBJS} 142 ${AR} ${ARFLAGS} $@ ${OBJS} 143 ${RANLIB} $@ 144 145libdns.la: ${OBJS} 146 ${LIBTOOL_MODE_LINK} \ 147 ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \ 148 -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ 149 ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS} 150 151timestamp: libdns.@A@ 152 touch timestamp 153 154installdirs: 155 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir} 156 157install:: timestamp installdirs 158 ${LIBTOOL_MODE_INSTALL} ${INSTALL_LIBRARY} libdns.@A@ ${DESTDIR}${libdir} 159 160clean distclean:: 161 rm -f libdns.@A@ timestamp 162 rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h 163 rm -f include/dns/rdatastruct.h 164 165newrr:: 166 rm -f code.h include/dns/enumtype.h include/dns/enumclass.h 167 rm -f include/dns/rdatastruct.h 168 169include: include/dns/enumtype.h include/dns/enumclass.h \ 170 include/dns/rdatastruct.h 171 172rdata.@O@: code.h 173 174include/dns/enumtype.h: gen 175 ./gen -s ${srcdir} -t > $@ 176 177include/dns/enumclass.h: gen 178 ./gen -s ${srcdir} -c > $@ 179 180include/dns/rdatastruct.h: gen \ 181 ${srcdir}/rdata/rdatastructpre.h \ 182 ${srcdir}/rdata/rdatastructsuf.h 183 ./gen -s ${srcdir} -i \ 184 -P ${srcdir}/rdata/rdatastructpre.h \ 185 -S ${srcdir}/rdata/rdatastructsuf.h > $@ 186 187code.h: gen 188 ./gen -s ${srcdir} > code.h 189 190gen: gen.c 191 ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ 192 ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS} 193 194rbtdb64.@O@: rbtdb64.c rbtdb.c 195 196depend: include/dns/enumtype.h include/dns/enumclass.h \ 197 include/dns/rdatastruct.h code.h 198subdirs: include/dns/enumtype.h include/dns/enumclass.h \ 199 include/dns/rdatastruct.h code.h 200${OBJS}: include/dns/enumtype.h include/dns/enumclass.h \ 201 include/dns/rdatastruct.h 202 203spnego.@O@: spnego_asn1.c spnego.h 204