# Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # SPDX-License-Identifier: MPL-2.0 # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, you can obtain one at https://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. srcdir = @srcdir@ VPATH = @srcdir@ top_srcdir = @top_srcdir@ # Attempt to disable parallel processing. .NOTPARALLEL: .NO_PARALLEL: VERSION=@BIND9_VERSION@ @BIND9_MAJOR@ @LIBDNS_MAPAPI@ @BIND9_MAKE_INCLUDES@ CINCLUDES = -I. -I${top_srcdir}/lib/dns -Iinclude ${DNS_INCLUDES} \ ${ISC_INCLUDES} \ ${FSTRM_CFLAGS} \ ${OPENSSL_CFLAGS} @DST_GSSAPI_INC@ \ ${PROTOBUF_C_CFLAGS} \ ${JSON_C_CFLAGS} \ ${LIBXML2_CFLAGS} \ ${LMDB_CFLAGS} \ ${MAXMINDDB_CFLAGS} CDEFINES = @USE_GSSAPI@ CWARNINGS = ISCLIBS = ../../lib/isc/libisc.@A@ @NO_LIBTOOL_ISCLIBS@ ISCDEPLIBS = ../../lib/isc/libisc.@A@ LIBS = ${FSTRM_LIBS} ${MAXMINDDB_LIBS} ${LMDB_LIBS} ${PROTOBUF_C_LIBS} @LIBS@ # Alphabetically DSTOBJS = @DST_EXTRA_OBJS@ \ dst_api.@O@ dst_parse.@O@ dst_result.@O@ \ gssapi_link.@O@ gssapictx.@O@ hmac_link.@O@ \ openssl_link.@O@ openssldh_link.@O@ \ opensslecdsa_link.@O@ openssleddsa_link.@O@ opensslrsa_link.@O@ \ pkcs11rsa_link.@O@ \ pkcs11ecdsa_link.@O@ pkcs11eddsa_link.@O@ pkcs11.@O@ \ key.@O@ GEOIP2LINKOBJS = geoip2.@O@ DNSTAPOBJS = dnstap.@O@ dnstap.pb-c.@O@ # Alphabetically DNSOBJS = acl.@O@ adb.@O@ badcache.@O@ byaddr.@O@ \ cache.@O@ callbacks.@O@ catz.@O@ clientinfo.@O@ compress.@O@ \ db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \ dlz.@O@ dns64.@O@ dnsrps.@O@ dnssec.@O@ ds.@O@ dyndb.@O@ \ ecs.@O@ fixedname.@O@ forward.@O@ \ ipkeylist.@O@ iptable.@O@ journal.@O@ kasp.@O@ keydata.@O@ \ keymgr.@O@ keytable.@O@ lib.@O@ log.@O@ lookup.@O@ \ master.@O@ masterdump.@O@ message.@O@ \ name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ nta.@O@ \ order.@O@ peer.@O@ portlist.@O@ private.@O@ \ rbt.@O@ rbtdb.@O@ rcode.@O@ rdata.@O@ \ rdatalist.@O@ rdataset.@O@ rdatasetiter.@O@ rdataslab.@O@ \ request.@O@ resolver.@O@ result.@O@ rootns.@O@ \ rpz.@O@ rrl.@O@ rriterator.@O@ sdb.@O@ \ sdlz.@O@ soa.@O@ ssu.@O@ ssu_external.@O@ \ stats.@O@ tcpmsg.@O@ time.@O@ timer.@O@ tkey.@O@ \ tsec.@O@ tsig.@O@ ttl.@O@ update.@O@ validator.@O@ \ version.@O@ view.@O@ xfrin.@O@ zone.@O@ zonekey.@O@ \ zoneverify.@O@ zt.@O@ PORTDNSOBJS = client.@O@ ecdb.@O@ OBJS= @DNSTAPOBJS@ ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} \ ${PORTDNSOBJS} @GEOIP2LINKOBJS@ DSTSRCS = @DST_EXTRA_SRCS@ \ dst_api.c dst_parse.c \ dst_result.c gssapi_link.c gssapictx.c hmac_link.c \ openssl_link.c openssldh_link.c \ opensslecdsa_link.c openssleddsa_link.c opensslrsa_link.c \ pkcs11rsa_link.c \ pkcs11ecdsa_link.c pkcs11eddsa_link.c pkcs11.c \ key.c GEOIPL2INKSRCS = geoip2.c DNSTAPSRCS = dnstap.c dnstap.pb-c.c DNSSRCS = acl.c adb.c badcache.c byaddr.c \ cache.c callbacks.c clientinfo.c compress.c \ db.c dbiterator.c dbtable.c diff.c dispatch.c \ dlz.c dns64.c dnsrps.c dnssec.c ds.c dyndb.c \ ecs.c fixedname.c forward.c ipkeylist.c iptable.c \ journal.c kasp.c keydata.c keymgr.c keytable.c \ lib.c log.c lookup.c master.c masterdump.c message.c \ name.c ncache.c nsec.c nsec3.c nta.c \ order.c peer.c portlist.c \ rbt.c rbtdb.c rcode.c rdata.c rdatalist.c \ rdataset.c rdatasetiter.c rdataslab.c request.c \ resolver.c result.c rootns.c rpz.c rrl.c rriterator.c \ sdb.c sdlz.c soa.c ssu.c ssu_external.c \ stats.c tcpmsg.c time.c timer.c tkey.c \ tsec.c tsig.c ttl.c update.c validator.c \ version.c view.c xfrin.c zone.c zoneverify.c \ zonekey.c zt.c ${OTHERSRCS} PORTDNSSRCS = client.c ecdb.c SRCS = ${DSTSRCS} ${DNSSRCS} \ ${PORTDNSSRCS} @DNSTAPSRCS@ @GEOIP2LINKSRCS@ SUBDIRS = include TARGETS = timestamp TESTDIRS = @UNITTESTS@ DEPENDEXTRA = ./gen -F include/dns/rdatastruct.h \ -s ${srcdir} -d >> Makefile ; @BIND9_MAKE_RULES@ PROTOC_C = @PROTOC_C@ version.@O@: version.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -DMAJOR=\"${MAJOR}\" \ -DMAPAPI=\"${MAPAPI}\" \ -c ${srcdir}/version.c libdns.@SA@: ${OBJS} ${AR} ${ARFLAGS} $@ ${OBJS} ${RANLIB} $@ libdns.la: ${OBJS} ${LIBTOOL_MODE_LINK} \ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \ -release "${VERSION}" \ ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS} include: gen ${MAKE} include/dns/enumtype.h ${MAKE} include/dns/enumclass.h ${MAKE} include/dns/rdatastruct.h ${MAKE} code.h include/dns/enumtype.h: gen ./gen -s ${srcdir} -t > $@ || { rm -f $@ ; exit 1; } include/dns/enumclass.h: gen ./gen -s ${srcdir} -c > $@ || { rm -f $@ ; exit 1; } include/dns/rdatastruct.h: gen \ ${srcdir}/rdata/rdatastructpre.h \ ${srcdir}/rdata/rdatastructsuf.h ./gen -s ${srcdir} -i \ -P ${srcdir}/rdata/rdatastructpre.h \ -S ${srcdir}/rdata/rdatastructsuf.h > $@ || \ { rm -f $@ ; exit 1; } code.h: gen ./gen -s ${srcdir} > code.h || { rm -f $@ ; exit 1; } gen: gen.c ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ ${LFS_CFLAGS} ${LFS_LDFLAGS} \ ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ ${BUILD_LIBS} ${LFS_LIBS} timestamp: include libdns.@A@ touch timestamp testdirs: libdns.@A@ installdirs: $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir} install:: timestamp installdirs ${LIBTOOL_MODE_INSTALL} ${INSTALL_LIBRARY} libdns.@A@ ${DESTDIR}${libdir} uninstall:: ${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${libdir}/libdns.@A@ clean distclean:: rm -f libdns.@A@ timestamp rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h rm -f include/dns/rdatastruct.h rm -f dnstap.pb-c.c dnstap.pb-c.h newrr:: rm -f code.h include/dns/enumtype.h include/dns/enumclass.h rm -f include/dns/rdatastruct.h rdata.@O@: include depend: include @DNSTAPSRCS@ subdirs: include ${OBJS}: include # dnstap dnstap.@O@: dnstap.c dnstap.pb-c.c dnstap.pb-c.c dnstap.pb-c.h: dnstap.proto $(PROTOC_C) --c_out=. --proto_path ${srcdir} dnstap.proto dnstap.pb-c.@O@: dnstap.pb-c.c