1254402Serwin# Copyright (C) 2009-2013 Internet Systems Consortium, Inc. ("ISC") 2224090Sdougb# 3224090Sdougb# Permission to use, copy, modify, and/or distribute this software for any 4224090Sdougb# purpose with or without fee is hereby granted, provided that the above 5224090Sdougb# copyright notice and this permission notice appear in all copies. 6224090Sdougb# 7224090Sdougb# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 8224090Sdougb# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 9224090Sdougb# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 10224090Sdougb# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 11224090Sdougb# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 12224090Sdougb# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 13224090Sdougb# PERFORMANCE OF THIS SOFTWARE. 14224090Sdougb 15234010Sdougb# $Id$ 16224090Sdougb 17224090Sdougbtop_srcdir = @top_srcdir@ 18224090Sdougbsrcdir = @top_srcdir@/lib/dns 19224090Sdougbexport_srcdir = @top_srcdir@/lib/export 20224090Sdougb 21224090Sdougb# Attempt to disable parallel processing. 22224090Sdougb.NOTPARALLEL: 23224090Sdougb.NO_PARALLEL: 24224090Sdougb 25224090Sdougb@BIND9_VERSION@ 26224090Sdougb 27224090Sdougb@LIBDNS_API@ 28224090Sdougb 29224090Sdougb@BIND9_MAKE_INCLUDES@ 30224090Sdougb 31224090SdougbCINCLUDES = -I. -Iinclude ${DNS_INCLUDES} -I${export_srcdir}/isc/include \ 32224090Sdougb ${ISC_INCLUDES} @DST_OPENSSL_INC@ @DST_GSSAPI_INC@ 33224090Sdougb 34224090SdougbCDEFINES = -DUSE_MD5 @USE_OPENSSL@ @USE_GSSAPI@ 35224090Sdougb 36224090SdougbCWARNINGS = 37224090Sdougb 38224090SdougbISCLIBS = ../isc/libisc.@A@ 39224090Sdougb 40224090SdougbISCDEPLIBS = ../isc/libisc.@A@ 41224090Sdougb 42224090SdougbLIBS = @LIBS@ 43224090Sdougb 44224090Sdougb# Alphabetically 45224090Sdougb 46254402SerwinOPENSSLGOSTLINKOBJS = opensslgost_link.@O@ 47224090SdougbOPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \ 48254402Serwin opensslecdsa_link.@O@ @OPENSSLGOSTLINKOBJS@ opensslrsa_link.@O@ 49224090Sdougb 50224090SdougbDSTOBJS = @OPENSSLLINKOBJS@ \ 51224090Sdougb dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \ 52224090Sdougb gssapi_link.@O@ gssapictx.@O@ hmac_link.@O@ key.@O@ 53224090Sdougb 54224090SdougbDNSOBJS = acl.@O@ adb.@O@ byaddr.@O@ \ 55224090Sdougb cache.@O@ callbacks.@O@ client.@O@ compress.@O@ \ 56224090Sdougb db.@O@ dbiterator.@O@ diff.@O@ dispatch.@O@ dlz.@O@ dnssec.@O@ \ 57224090Sdougb ds.@O@ \ 58224090Sdougb forward.@O@ iptable.@O@ \ 59224090Sdougb keytable.@O@ \ 60224090Sdougb lib.@O@ log.@O@ \ 61224090Sdougb master.@O@ masterdump.@O@ message.@O@ \ 62224090Sdougb name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ \ 63224090Sdougb peer.@O@ portlist.@O@ \ 64224090Sdougb rbt.@O@ rbtdb.@O@ rcode.@O@ rdata.@O@ \ 65224090Sdougb rdatalist.@O@ rdataset.@O@ rdatasetiter.@O@ rdataslab.@O@ \ 66224090Sdougb request.@O@ resolver.@O@ result.@O@ soa.@O@ stats.@O@ \ 67224090Sdougb tcpmsg.@O@ time.@O@ tsec.@O@ tsig.@O@ ttl.@O@ \ 68224090Sdougb validator.@O@ version.@O@ view.@O@ 69224090SdougbPORTDNSOBJS = ecdb.@O@ 70224090Sdougb 71224090SdougbOBJS= ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} ${PORTDNSOBJS} 72224090Sdougb 73224090Sdougb# Alphabetically 74224090Sdougb 75254402SerwinOPENSSLGOSTLINKSRCS = opensslgost_link.c 76224090SdougbOPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \ 77254402Serwin opensslecdsa_link.c @OPENSSLGOSTLINKSRCS@ opensslrsa_link.c 78224090Sdougb 79224090SdougbDSTSRCS = @OPENSSLLINKSRCS@ \ 80224090Sdougb dst_api.c dst_lib.c dst_parse.c \ 81224090Sdougb dst_result.c gssapi_link.c gssapictx.c \ 82224090Sdougb hmac_link.c key.c 83224090Sdougb 84224090SdougbDNSSRCS = acl.c adb.c byaddr.c \ 85224090Sdougb cache.c callbacks.c client.c compress.c \ 86224090Sdougb db.c dbiterator.c diff.c dispatch.c dlz.c dnssec.c ds.c \ 87224090Sdougb forward.c iptable.c \ 88224090Sdougb keytable.c \ 89224090Sdougb lib.c log.c \ 90224090Sdougb master.c masterdump.c message.c \ 91224090Sdougb name.c ncache.c nsec.c nsec3.c \ 92224090Sdougb peer.c portlist.c \ 93224090Sdougb rbt.c rbtdb.c rcode.c rdata.c \ 94224090Sdougb rdatalist.c rdataset.c rdatasetiter.c rdataslab.c \ 95224090Sdougb request.c res.c resolver.c result.c soa.c stats.c \ 96224090Sdougb tcpmsg.c time.c tsec.c tsig.c ttl.c \ 97224090Sdougb validator.c version.c view.c 98224090SdougbPORTDNSSRCS = ecdb.c 99224090Sdougb 100224090SdougbSRCS = ${DSTSRCS} ${DNSSRCS} ${PORTDNSSRCS} 101224090Sdougb 102224090SdougbSUBDIRS = include 103224090SdougbTARGETS = include/dns/enumtype.h include/dns/enumclass.h \ 104224090Sdougb include/dns/rdatastruct.h timestamp 105224090Sdougb 106224090SdougbDEPENDEXTRA = ./gen -F include/dns/rdatastruct.h \ 107224090Sdougb -s ${srcdir} -d >> Makefile ; 108224090Sdougb 109224090Sdougb@BIND9_MAKE_RULES@ 110224090Sdougb 111224090Sdougbversion.@O@: ${srcdir}/version.c 112224090Sdougb ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ 113224090Sdougb -DVERSION=\"${VERSION}\" \ 114224090Sdougb -DLIBINTERFACE=${LIBINTERFACE} \ 115224090Sdougb -DLIBREVISION=${LIBREVISION} \ 116224090Sdougb -DLIBAGE=${LIBAGE} \ 117224090Sdougb -c ${srcdir}/version.c 118224090Sdougb 119224090Sdougblibdns.@SA@: ${OBJS} 120224090Sdougb ${AR} ${ARFLAGS} $@ ${OBJS} 121224090Sdougb ${RANLIB} $@ 122224090Sdougb 123224090Sdougblibdns.la: ${OBJS} 124224090Sdougb ${LIBTOOL_MODE_LINK} \ 125224090Sdougb ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la \ 126224090Sdougb -rpath ${export_libdir} \ 127224090Sdougb -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ 128224090Sdougb ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS} 129224090Sdougb 130224090Sdougbtimestamp: libdns.@A@ 131224090Sdougb touch timestamp 132224090Sdougb 133224090Sdougbinstalldirs: 134224090Sdougb $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir} 135224090Sdougb 136224090Sdougbinstall:: timestamp installdirs 137224090Sdougb ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libdns.@A@ \ 138225361Sdougb ${DESTDIR}${export_libdir}/ 139224090Sdougb 140224090Sdougbclean distclean:: 141224090Sdougb rm -f libdns.@A@ timestamp 142224090Sdougb rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h 143224090Sdougb rm -f include/dns/rdatastruct.h 144224090Sdougb 145224090Sdougbnewrr:: 146224090Sdougb rm -f code.h include/dns/enumtype.h include/dns/enumclass.h 147224090Sdougb rm -f include/dns/rdatastruct.h 148224090Sdougb 149224090Sdougbinclude: include/dns/enumtype.h include/dns/enumclass.h \ 150224090Sdougb include/dns/rdatastruct.h 151224090Sdougb 152224090Sdougbrdata.@O@: code.h 153224090Sdougb 154224090Sdougbinclude/dns/enumtype.h: gen 155224090Sdougb ./gen -s ${srcdir} -t > $@ 156224090Sdougb 157224090Sdougbinclude/dns/enumclass.h: gen 158224090Sdougb ./gen -s ${srcdir} -c > $@ 159224090Sdougb 160224090Sdougbinclude/dns/rdatastruct.h: gen \ 161224090Sdougb ${srcdir}/rdata/rdatastructpre.h \ 162224090Sdougb ${srcdir}/rdata/rdatastructsuf.h 163224090Sdougb ./gen -s ${srcdir} -i \ 164224090Sdougb -P ${srcdir}/rdata/rdatastructpre.h \ 165224090Sdougb -S ${srcdir}/rdata/rdatastructsuf.h > $@ 166224090Sdougb 167224090Sdougbcode.h: gen 168224090Sdougb ./gen -s ${srcdir} > code.h 169224090Sdougb 170224090Sdougbgen: ${srcdir}/gen.c 171224090Sdougb ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS} 172224090Sdougb 173224090Sdougb#We don't need rbtdb64 for this library 174224090Sdougb#rbtdb64.@O@: rbtdb.c 175224090Sdougb 176224090Sdougbdepend: include/dns/enumtype.h include/dns/enumclass.h \ 177224090Sdougb include/dns/rdatastruct.h code.h 178224090Sdougbsubdirs: include/dns/enumtype.h include/dns/enumclass.h \ 179224090Sdougb include/dns/rdatastruct.h code.h 180224090Sdougb${OBJS}: include/dns/enumtype.h include/dns/enumclass.h \ 181224090Sdougb include/dns/rdatastruct.h 182