mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-28 17:46:40 -04:00
This commit converts the license handling to adhere to the REUSE
specification. It specifically:
1. Adds used licnses to LICENSES/ directory
2. Add "isc" template for adding the copyright boilerplate
3. Changes all source files to include copyright and SPDX license
header, this includes all the C sources, documentation, zone files,
configuration files. There are notes in the doc/dev/copyrights file
on how to add correct headers to the new files.
4. Handle the rest that can't be modified via .reuse/dep5 file. The
binary (or otherwise unmodifiable) files could have license places
next to them in <foo>.license file, but this would lead to cluttered
repository and most of the files handled in the .reuse/dep5 file are
system test files.
(cherry picked from commit 58bd26b6cf)
215 lines
6 KiB
Makefile
215 lines
6 KiB
Makefile
# 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
|