]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dnsdistdist/Makefile.am
eBPF: eBPF case-insensitive qname filtering
[thirdparty/pdns.git] / pdns / dnsdistdist / Makefile.am
1 AM_CPPFLAGS += $(SYSTEMD_CFLAGS) $(LUA_CFLAGS) $(LIBEDIT_CFLAGS) $(YAHTTP_CFLAGS) $(SANITIZER_FLAGS) -DSYSCONFDIR=\"${sysconfdir}\"
2
3 ACLOCAL_AMFLAGS = -I m4
4
5 SUBDIRS=ext/yahttp
6
7 CLEANFILES = dnsmessage.pb.cc dnsmessage.pb.h
8
9 dnslabeltext.cc: dnslabeltext.rl
10 $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc
11
12 BUILT_SOURCES=htmlfiles.h
13
14 htmlfiles.h: html/*
15 ./incfiles > $@
16
17 SRC_JS_FILES := $(wildcard src_js/*.js)
18 MIN_JS_FILES := $(patsubst src_js/%.js,html/js/%.min.js,$(SRC_JS_FILES))
19
20 html/js/%.min.js: src_js/%.js
21 uglifyjs $< > $@
22
23 min_js: $(MIN_JS_FILES)
24
25 if HAVE_RE2
26 AM_CPPFLAGS += $(RE2_CFLAGS)
27 endif
28
29
30 EXTRA_DIST=dnslabeltext.rl \
31 dnsdistconf.lua \
32 dnsmessage.proto \
33 README.md \
34 delaypipe.cc delaypipe.hh \
35 html \
36 dnsdist.1.md \
37 .version \
38 contrib \
39 build-aux/gen-version \
40 ext/incbin/UNLICENSE \
41 incfiles \
42 src_js \
43 dnsdist.service.in \
44 lua_hpp.mk \
45 bpf-filter.main.ebpf \
46 bpf-filter.qname.ebpf \
47 bpf-filter.ebpf.src
48
49 bin_PROGRAMS = dnsdist
50
51 if UNIT_TESTS
52 noinst_PROGRAMS = testrunner
53 TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
54 TESTS=testrunner
55 else
56 check-local:
57 @echo "Unit tests are not enabled"
58 @echo "Run ./configure --enable-unit-tests"
59 endif
60
61 dnsdist-web.$(OBJEXT): htmlfiles.h
62
63 dnsdist_SOURCES = \
64 base64.hh \
65 bpf-filter.cc bpf-filter.hh \
66 dns.cc dns.hh \
67 dnscrypt.cc dnscrypt.hh \
68 dnsdist.cc dnsdist.hh \
69 dnsdist-dynbpf.cc dnsdist-dynbpf.hh \
70 dnsdist-cache.cc dnsdist-cache.hh \
71 dnsdist-carbon.cc \
72 dnsdist-console.cc \
73 dnsdist-dnscrypt.cc \
74 dnsdist-ecs.cc dnsdist-ecs.hh \
75 dnsdist-lua.cc \
76 dnsdist-lua2.cc \
77 dnsdist-protobuf.cc dnsdist-protobuf.hh \
78 dnsdist-rings.cc \
79 dnsdist-tcp.cc \
80 dnsdist-web.cc \
81 dnslabeltext.cc \
82 dnsname.cc dnsname.hh \
83 dnsparser.hh dnsparser.cc \
84 dnsrulactions.cc dnsrulactions.hh \
85 dnswriter.cc dnswriter.hh \
86 dolog.hh \
87 ednsoptions.cc ednsoptions.hh \
88 ednscookies.cc ednscookies.hh \
89 ednssubnet.cc ednssubnet.hh \
90 gettime.cc gettime.hh \
91 iputils.cc iputils.hh \
92 lock.hh \
93 misc.cc misc.hh \
94 htmlfiles.h \
95 namespaces.hh \
96 pdnsexception.hh \
97 qtype.cc qtype.hh \
98 remote_logger.cc remote_logger.hh \
99 sholder.hh \
100 sodcrypto.cc sodcrypto.hh \
101 sstuff.hh \
102 ext/luawrapper/include/LuaContext.hpp \
103 ext/json11/json11.cpp \
104 ext/json11/json11.hpp \
105 ext/incbin/incbin.h \
106 ext/libbpf/libbpf.h
107
108 dnsdist_LDFLAGS = \
109 $(AM_LDFLAGS) \
110 $(PROGRAM_LDFLAGS) \
111 -pthread
112
113 dnsdist_LDADD = \
114 $(LUA_LIBS) \
115 $(LIBEDIT_LIBS) \
116 $(RT_LIBS) \
117 $(YAHTTP_LIBS) \
118 $(LIBSODIUM_LIBS) \
119 $(SANITIZER_FLAGS) \
120 $(SYSTEMD_LIBS)
121
122 if HAVE_RE2
123 dnsdist_LDADD += $(RE2_LIBS)
124 endif
125
126 if !HAVE_LUA_HPP
127 BUILT_SOURCES += lua.hpp
128 nodist_dnsdist_SOURCES = lua.hpp
129 CLEANFILES += lua.hpp
130 endif
131
132 if HAVE_PROTOBUF
133 if HAVE_PROTOC
134 dnsmessage.pb.cc: dnsmessage.proto
135 $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<
136
137 BUILT_SOURCES += dnsmessage.pb.cc
138
139 nodist_dnsdist_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
140 dnsdist_LDADD += $(PROTOBUF_LIBS)
141
142 dnsdist.$(OBJEXT): dnsmessage.pb.cc
143 endif
144 endif
145
146 testrunner_SOURCES = \
147 base64.hh \
148 dns.hh \
149 test-base64_cc.cc \
150 test-dnsdist_cc.cc \
151 test-dnsdistpacketcache_cc.cc \
152 test-dnscrypt_cc.cc \
153 dnsdist.hh \
154 dnsdist-cache.cc dnsdist-cache.hh \
155 dnsdist-ecs.cc dnsdist-ecs.hh \
156 dnscrypt.cc dnscrypt.hh \
157 dnslabeltext.cc \
158 dnsname.cc dnsname.hh \
159 dnsparser.hh dnsparser.cc \
160 dnswriter.cc dnswriter.hh \
161 dolog.hh \
162 ednsoptions.cc ednsoptions.hh \
163 ednscookies.cc ednscookies.hh \
164 ednssubnet.cc ednssubnet.hh \
165 gettime.cc gettime.hh \
166 iputils.cc iputils.hh \
167 misc.cc misc.hh \
168 namespaces.hh \
169 pdnsexception.hh \
170 qtype.cc qtype.hh \
171 sholder.hh \
172 sodcrypto.cc \
173 sstuff.hh \
174 testrunner.cc
175
176 testrunner_LDFLAGS = \
177 $(AM_LDFLAGS) \
178 $(PROGRAM_LDFLAGS) \
179 $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) \
180 -pthread
181
182 testrunner_LDADD = \
183 $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) \
184 $(LIBSODIUM_LIBS) \
185 $(RT_LIBS) \
186 $(SANITIZER_FLAGS)
187
188 MANPAGES=dnsdist.1
189
190 dist_man_MANS=$(MANPAGES)
191
192 if HAVE_PANDOC
193 $(MANPAGES): %: %.md
194 $(AM_V_GEN)$(PANDOC) -s -t man $< -o $@
195 else
196 if HAVE_MANPAGES
197 #nothing
198 else
199 $(MANPAGES):
200 echo "You need pandoc to generate the manpages"
201 exit 1
202 endif
203 endif
204
205 if HAVE_SYSTEMD
206 dnsdist.service: dnsdist.service.in
207 $(AM_V_GEN)sed -e 's![@]bindir[@]!$(bindir)!' < $< > $@
208
209 systemdsystemunitdir = $(SYSTEMD_DIR)
210
211 systemdsystemunit_DATA = \
212 dnsdist.service
213 endif
214
215 if !HAVE_LUA_HPP
216 include lua_hpp.mk
217 endif