]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/recursordist/Makefile.am
Check TSIG signature on IXFR
[thirdparty/pdns.git] / pdns / recursordist / Makefile.am
1 JSON11_LIBS = $(top_srcdir)/ext/json11/libjson11.la
2
3 AM_CPPFLAGS = $(LUA_CFLAGS) $(YAHTTP_CFLAGS) $(BOOST_CPPFLAGS) $(BOTAN110_CFLAGS) $(SANITIZER_FLAGS) -O3 -Wall -pthread -DSYSCONFDIR=\"${sysconfdir}\" $(SYSTEMD_CFLAGS)
4
5 AM_CPPFLAGS += \
6 -I$(top_srcdir)/ext/json11 \
7 -I$(top_srcdir)/ext/rapidjson/include \
8 $(YAHTTP_CFLAGS) \
9 $(LIBCRYPTO_INCLUDES)
10
11 AM_CXXFLAGS = \
12 -DSYSCONFDIR=\"$(sysconfdir)\" \
13 -DPKGLIBDIR=\"$(pkglibdir)\" \
14 -DLOCALSTATEDIR=\"$(socketdir)\"
15
16 AM_LDFLAGS = \
17 $(PROGRAM_LDFLAGS) \
18 $(THREADFLAGS)
19
20 ACLOCAL_AMFLAGS = -I m4
21
22 BUILT_SOURCES=htmlfiles.h
23 CLEANFILES = htmlfiles.h \
24 dnsmessage.pb.cc \
25 dnsmessage.pb.h
26
27 htmlfiles.h: html/*
28 ./incfiles > $@
29
30 SUBDIRS=ext
31
32 if LUA
33 AM_CPPFLAGS +=$(LUA_CFLAGS)
34 endif
35
36 EXTRA_DIST = \
37 NOTICE \
38 .version \
39 botan110signers.cc \
40 build-aux/gen-version \
41 contrib/* \
42 devpollmplexer.cc \
43 dnslabeltext.cc \
44 dnslabeltext.rl \
45 dnsmessage.proto \
46 effective_tld_names.dat \
47 epollmplexer.cc \
48 kqueuemplexer.cc \
49 lua_hpp.mk \
50 malloctrace.cc malloctrace.hh \
51 mkpubsuffixcc \
52 mtasker.cc \
53 mtasker_fcontext.cc mtasker_ucontext.cc \
54 opensslsigners.hh opensslsigners.cc \
55 pdns_recursor.1.md \
56 portsmplexer.cc \
57 rec_control.1.md \
58 rrd/* \
59 html incfiles \
60 pdns-recursor.service.in
61
62 sbin_PROGRAMS = pdns_recursor
63 bin_PROGRAMS = rec_control
64
65 pdns_recursor_SOURCES = \
66 arguments.cc \
67 base32.cc base32.hh \
68 base64.cc base64.hh \
69 cachecleaner.hh \
70 comment.hh \
71 dns.hh dns.cc \
72 dns_random.hh dns_random.cc \
73 dnsbackend.hh \
74 dnslabeltext.cc \
75 dnsname.cc dnsname.hh \
76 dnspacket.hh \
77 dnsparser.hh dnsparser.cc \
78 dnsrecords.cc dnsrecords.hh \
79 dnssecinfra.hh dnssecinfra.cc \
80 dnsseckeeper.hh \
81 dnswriter.cc dnswriter.hh \
82 ednsoptions.cc ednsoptions.hh \
83 ednssubnet.cc ednssubnet.hh \
84 filterpo.cc filterpo.hh \
85 gettime.cc gettime.hh \
86 gss_context.cc gss_context.hh \
87 iputils.hh iputils.cc \
88 ixfr.cc ixfr.hh \
89 json.cc json.hh \
90 lazy_allocator.hh \
91 lock.hh \
92 logger.hh logger.cc \
93 lua-recursor4.cc lua-recursor4.hh \
94 lwres.cc lwres.hh \
95 misc.hh misc.cc \
96 mplexer.hh \
97 mtasker.hh \
98 mtasker_context.cc mtasker_context.hh \
99 namespaces.hh \
100 nsecrecords.cc \
101 opensslsigners.cc opensslsigners.hh \
102 pdns_recursor.cc \
103 pdnsexception.hh \
104 protobuf.cc protobuf.hh \
105 pubsuffix.hh pubsuffix.cc \
106 qtype.hh qtype.cc \
107 randomhelper.cc \
108 rcpgenerator.cc rcpgenerator.hh \
109 rec-carbon.cc \
110 rec-lua-conf.hh rec-lua-conf.cc \
111 rec-protobuf.cc rec-protobuf.hh \
112 rec_channel.cc rec_channel.hh \
113 rec_channel_rec.cc \
114 recpacketcache.cc recpacketcache.hh \
115 recursor_cache.cc recursor_cache.hh \
116 reczones.cc \
117 remote_logger.cc remote_logger.hh \
118 resolver.hh resolver.cc \
119 resolve-context.hh \
120 responsestats.hh responsestats.cc \
121 root-addresses.hh \
122 root-dnssec.hh \
123 rpzloader.cc rpzloader.hh \
124 secpoll-recursor.cc \
125 secpoll-recursor.hh \
126 selectmplexer.cc \
127 sholder.hh \
128 sillyrecords.cc \
129 sortlist.cc sortlist.hh \
130 sstuff.hh \
131 syncres.cc syncres.hh \
132 tsigverifier.cc tsigverifier.hh \
133 ueberbackend.hh \
134 unix_utility.cc \
135 utility.hh \
136 validate.cc validate.hh validate-recursor.cc validate-recursor.hh \
137 version.cc version.hh \
138 webserver.cc webserver.hh \
139 ws-api.cc ws-api.hh \
140 ws-recursor.cc ws-recursor.hh \
141 zoneparser-tng.cc zoneparser-tng.hh
142
143 if !HAVE_LUA_HPP
144 BUILT_SOURCES += lua.hpp
145 nodist_pdns_recursor_SOURCES = lua.hpp
146 CLEANFILES += lua.hpp
147 endif
148
149 pdns_recursor_LDADD = \
150 $(YAHTTP_LIBS) \
151 $(JSON11_LIBS) \
152 $(LIBCRYPTO_LIBS) \
153 $(BOOST_CONTEXT_LIBS) \
154 $(SYSTEMD_LIBS) \
155 $(RT_LIBS)
156
157 pdns_recursor_LDFLAGS = $(AM_LDFLAGS) \
158 $(LIBCRYPTO_LDFLAGS) $(BOOST_CONTEXT_LDFLAGS)
159
160 if BOTAN110
161 pdns_recursor_SOURCES += \
162 botan110signers.cc
163 pdns_recursor_LDADD += $(BOTAN110_LIBS)
164 endif
165
166 if MALLOC_TRACE
167 pdns_recursor_SOURCES += \
168 malloctrace.cc \
169 malloctrace.hh
170 pdns_recursor_LDFLAGS += -rdynamic
171 endif
172
173 if LUA
174 pdns_recursor_LDADD += $(LUA_LIBS)
175 endif
176
177 if HAVE_FREEBSD
178 pdns_recursor_SOURCES += kqueuemplexer.cc
179 endif
180
181 if HAVE_LINUX
182 pdns_recursor_SOURCES += epollmplexer.cc
183 endif
184
185 if HAVE_SOLARIS
186 pdns_recursor_SOURCES += \
187 devpollmplexer.cc \
188 portsmplexer.cc
189 endif
190
191 if HAVE_PROTOBUF
192 if HAVE_PROTOC
193 dnsmessage.pb.cc: dnsmessage.proto
194 $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<
195
196 BUILT_SOURCES += dnsmessage.pb.cc
197 pdns_recursor_LDADD += $(PROTOBUF_LIBS)
198 nodist_pdns_recursor_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
199 pdns_recursor.$(OBJEXT): dnsmessage.pb.cc
200 endif
201 endif
202
203 rec_control_SOURCES = \
204 arguments.cc arguments.hh \
205 dnsname.hh dnsname.cc \
206 dnslabeltext.cc \
207 logger.cc \
208 misc.cc \
209 qtype.cc \
210 rec_channel.cc rec_channel.hh \
211 rec_control.cc \
212 unix_utility.cc
213
214 dnslabeltext.cc: dnslabeltext.rl
215 $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc
216
217 curl_verbose = $(curl_verbose_$(V))
218 curl_verbose_ = $(curl_verbose_$(AM_DEFAULT_VERBOSITY))
219 curl_verbose_0 = @echo " CURL " $@;
220 $(srcdir)/effective_tld_names.dat:
221 $(curl_verbose)if ! curl -s -S https://publicsuffix.org/list/public_suffix_list.dat > $@; then rm -f $@; exit 1; fi
222
223 pubsuffix.cc: $(srcdir)/effective_tld_names.dat
224 $(AM_V_GEN)./mkpubsuffixcc
225
226 ## Config file
227 sysconf_DATA = recursor.conf-dist
228
229 recursor.conf-dist: pdns_recursor
230 $(AM_V_GEN)./pdns_recursor --config > $@
231
232 ## Manpages
233 MANPAGES=pdns_recursor.1 \
234 rec_control.1
235
236 if HAVE_PANDOC
237 dist_man_MANS=$(MANPAGES)
238 endif
239 if HAVE_MANPAGES
240 dist_man_MANS=$(MANPAGES)
241 endif
242
243 if HAVE_PANDOC
244 $(MANPAGES): %: %.md
245 $(AM_V_GEN)$(PANDOC) -s -t man $< -o $@
246 else
247 $(MANPAGES):
248 echo "You need pandoc to generate the manpages"
249 exit 1
250 endif
251
252 if HAVE_SYSTEMD
253 pdns-recursor.service: pdns-recursor.service.in
254 $(AM_V_GEN)sed -e 's![@]sbindir[@]!$(sbindir)!' < $< > $@
255
256 pdns-recursor@.service: pdns-recursor.service
257 $(AM_V_GEN)sed -e 's!/pdns_recursor!& --config-name=%i!' \
258 -e 's!Recursor!& %i!' \
259 < $< > $@
260
261 systemdsystemunitdir = $(SYSTEMD_DIR)
262
263 systemdsystemunit_DATA = \
264 pdns-recursor.service \
265 pdns-recursor@.service
266 endif
267
268 if !HAVE_LUA_HPP
269 include lua_hpp.mk
270 endif