1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
|
# The following options seem to work fine on Linux, FreeBSD, and Darwin
OPTIMIZE+=-O2 -g
CFLAGS+=-Wall -Wno-deprecated-declarations -Werror -pthread -fno-strict-aliasing
INCPATH+=-I/usr/local/include -I/opt/homebrew/include -I/usr/local/ssl/include -I/opt/homebrew/opt/openssl@3/include
CC?=cc
# M1/M2 MacOS
EXTRALPATH=-L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib
# These additional options work on Solaris/gcc to which I have an access
# (when combined with the options above, and CC=gcc).
#EXTRALPATH=-L/usr/local/ssl/lib -Wl,-R,/usr/local/ssl/lib
#EXTRALIBS=-lnsl -lrt
# According to Daniel Stirnimann, the following is needed
# to make it work on Solaris/cc.
#CFLAGS=-fast -xtarget=ultra3 -m64 -xarch=sparcvis2
#INCPATH=-I/opt/sws/include
#CC=cc
#EXTRALPATH=-L/opt/sws/lib/64 -R/opt/sws/lib/64
#EXTRALIBS-lrt -lnsl
#EXTRALINKING=-mt -lpthread
validns: main.o carp.o mempool.o textparse.o base64.o base32hex.o \
rr.o soa.o a.o cname.o mx.o ns.o \
rrsig.o nsec.o dnskey.o txt.o aaaa.o \
naptr.o srv.o nsec3param.o nsec3.o ds.o \
hinfo.o loc.o nsec3checks.o ptr.o \
sshfp.o threads.o rp.o spf.o cert.o \
dname.o tlsa.o nid.o l32.o l64.o lp.o \
ipseckey.o cbtree.o mb.o mg.o mr.o minfo.o \
afsdb.o x25.o isdn.o rt.o px.o kx.o \
dlv.o dhcid.o nsap.o caa.o
$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -o validns \
main.o carp.o mempool.o textparse.o base64.o base32hex.o \
rr.o soa.o a.o cname.o mx.o ns.o \
rrsig.o nsec.o dnskey.o txt.o aaaa.o \
naptr.o srv.o nsec3param.o nsec3.o ds.o \
hinfo.o loc.o nsec3checks.o ptr.o \
sshfp.o threads.o rp.o spf.o cert.o \
dname.o tlsa.o nid.o l32.o l64.o lp.o \
ipseckey.o cbtree.o mb.o mg.o mr.o minfo.o \
afsdb.o x25.o isdn.o rt.o px.o kx.o \
dlv.o dhcid.o nsap.o caa.o \
-L/usr/local/lib $(EXTRALPATH) \
-lJudy -lcrypto $(EXTRALIBS) $(EXTRALINKING)
clean:
-rm -f validns main.o carp.o mempool.o textparse.o
-rm -f rr.o soa.o a.o cname.o mx.o ns.o
-rm -f rrsig.o nsec.o dnskey.o txt.o aaaa.o
-rm -f naptr.o srv.o nsec3param.o nsec3.o ds.o
-rm -f hinfo.o loc.o nsec3checks.o ptr.o
-rm -f sshfp.o base32hex.o base64.o threads.o
-rm -f rp.o spf.o cert.o dname.o tlsa.o
-rm -f nid.o l32.o l64.o lp.o ipseckey.o
-rm -f cbtree.o mb.o mg.o mr.o minfo.o
-rm -f afsdb.o x25.o isdn.o rt.o px.o kx.o
-rm -f dlv.o dhcid.o nsap.o caa.o
-rm -f validns.core core
-rm -f base32hex-test base64-test
@echo ':-)'
main.o: main.c common.h carp.h mempool.h textparse.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o main.o main.c $(INCPATH)
carp.o: carp.c carp.h common.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o carp.o carp.c $(INCPATH)
mempool.o: mempool.c mempool.h carp.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o mempool.o mempool.c $(INCPATH)
textparse.o: textparse.c common.h carp.h mempool.h textparse.h base64.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o textparse.o textparse.c $(INCPATH)
base64.o: base64.c base64.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o base64.o base64.c $(INCPATH)
base32hex.o: base32hex.c base32hex.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o base32hex.o base32hex.c $(INCPATH)
rr.o: rr.c common.h mempool.h carp.h textparse.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o rr.o rr.c $(INCPATH)
soa.o: soa.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o soa.o soa.c $(INCPATH)
a.o: a.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o a.o a.c $(INCPATH)
cname.o: cname.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o cname.o cname.c $(INCPATH)
mb.o: mb.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o mb.o mb.c $(INCPATH)
mg.o: mg.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o mg.o mg.c $(INCPATH)
minfo.o: minfo.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o minfo.o minfo.c $(INCPATH)
mr.o: mr.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o mr.o mr.c $(INCPATH)
mx.o: mx.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o mx.o mx.c $(INCPATH)
afsdb.o: afsdb.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o afsdb.o afsdb.c $(INCPATH)
x25.o: x25.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o x25.o x25.c $(INCPATH)
isdn.o: isdn.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o isdn.o isdn.c $(INCPATH)
rt.o: rt.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o rt.o rt.c $(INCPATH)
px.o: px.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o px.o px.c $(INCPATH)
kx.o: kx.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o kx.o kx.c $(INCPATH)
dlv.o: dlv.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o dlv.o dlv.c $(INCPATH)
dhcid.o: dhcid.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o dhcid.o dhcid.c $(INCPATH)
nsap.o: nsap.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nsap.o nsap.c $(INCPATH)
ns.o: ns.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o ns.o ns.c $(INCPATH)
rrsig.o: rrsig.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o rrsig.o rrsig.c $(INCPATH)
nsec.o: nsec.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nsec.o nsec.c $(INCPATH)
dnskey.o: dnskey.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o dnskey.o dnskey.c $(INCPATH)
txt.o: txt.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o txt.o txt.c $(INCPATH)
aaaa.o: aaaa.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o aaaa.o aaaa.c $(INCPATH)
naptr.o: naptr.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o naptr.o naptr.c $(INCPATH)
srv.o: srv.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o srv.o srv.c $(INCPATH)
nsec3param.o: nsec3param.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nsec3param.o nsec3param.c $(INCPATH)
nsec3.o: nsec3.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nsec3.o nsec3.c $(INCPATH)
ds.o: ds.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o ds.o ds.c $(INCPATH)
hinfo.o: hinfo.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o hinfo.o hinfo.c $(INCPATH)
loc.o: loc.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o loc.o loc.c $(INCPATH)
nsec3checks.o: nsec3checks.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nsec3checks.o nsec3checks.c $(INCPATH)
ptr.o: ptr.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o ptr.o ptr.c $(INCPATH)
sshfp.o: sshfp.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o sshfp.o sshfp.c $(INCPATH)
caa.o: caa.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o caa.o caa.c $(INCPATH)
rp.o: rp.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o rp.o rp.c $(INCPATH)
spf.o: spf.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o spf.o spf.c $(INCPATH)
cert.o: cert.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o cert.o cert.c $(INCPATH)
dname.o: dname.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o dname.o dname.c $(INCPATH)
tlsa.o: tlsa.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o tlsa.o tlsa.c $(INCPATH)
nid.o: nid.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o nid.o nid.c $(INCPATH)
l32.o: l32.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o l32.o l32.c $(INCPATH)
l64.o: l64.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o l64.o l64.c $(INCPATH)
lp.o: lp.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o lp.o lp.c $(INCPATH)
ipseckey.o: ipseckey.c common.h textparse.h mempool.h carp.h rr.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o ipseckey.o ipseckey.c $(INCPATH)
cbtree.o: cbtree.c cbtree.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o cbtree.o cbtree.c $(INCPATH)
threads.o: threads.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o threads.o threads.c $(INCPATH)
test: validns
perl -MTest::Harness -e 'runtests("t/test.pl")'
test-details: validns
perl t/test.pl
test64:
$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -Wall -O2 -o base64-test base64.c -DTEST_PROGRAM
./base64-test
test32hex:
$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -Wall -O2 -o base32hex-test base32hex.c -DTEST_PROGRAM
./base32hex-test
|