1bin_PROGRAMS =
2check_PROGRAMS =
3noinst_PROGRAMS =
4TESTS =
5EXTRA_DIST =
6CLEANFILES =
7DISTCLEANFILES =
8ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
9
10EXTRA_DIST += COPYRIGHT
11EXTRA_DIST += LICENSE
12EXTRA_DIST += README.md
13
14AM_CPPFLAGS = \
15	-include $(top_builddir)/config.h \
16	-I$(top_srcdir)/wdns
17AM_CFLAGS = $(my_CFLAGS) \
18	-I$(top_builddir)/wdns
19AM_LDFLAGS =
20
21USE_LCOV=@USE_LCOV@
22LCOV=@LCOV@
23GENHTML=@GENHTML@
24
25clean-coverage:
26	@if [ $(USE_LCOV) = yes ] ; then \
27		$(LCOV) --directory . --zerocounters ; \
28		echo "Removing coverage info files and generated $(abs_top_builddir)/coverage-html/ directory" ; \
29		rm -rf all.coverage report.coverage ; \
30		rm -rf $(abs_top_builddir)/coverage-html/ ; \
31	else \
32		echo "Code coverage not enabled at configuration time." ; \
33		echo "Use: ./configure --with-coverage" ; \
34fi
35
36report-coverage:
37	@if [ $(USE_LCOV) = yes ] ; then \
38		$(LCOV) --capture --directory . --output-file all.coverage ; \
39		$(LCOV) --remove all.coverage \
40			$(abs_top_srcdir)/t/\* \
41			/usr/include/\* \
42			--output report.coverage ; \
43		$(GENHTML) --legend -o $(abs_top_builddir)/coverage-html report.coverage ; \
44		echo "Generated Code Coverage report in HTML at $(abs_top_builddir)/coverage-html" ; \
45	else \
46		echo "Code coverage not enabled at configuration time." ; \
47		echo "Use: ./configure --with-coverage" ; \
48fi
49
50#
51##
52### library
53##
54#
55
56LIBWDNS_CURRENT=3
57LIBWDNS_REVISION=0
58LIBWDNS_AGE=2
59
60include_HEADERS = wdns/wdns.h
61lib_LTLIBRARIES = wdns/libwdns.la
62
63EXTRA_DIST += wdns/gen_rcode_to_str
64EXTRA_DIST += wdns/gen_rrclass_to_str
65EXTRA_DIST += wdns/gen_rrtype_to_str
66DISTCLEANFILES += wdns/rrtype_to_str.c \
67	wdns/rcode_to_str.c \
68	wdns/rrclass_to_str.c
69
70wdns/rcode_to_str.c: wdns/wdns.h wdns/gen_rcode_to_str
71	$(PYTHON) $(top_srcdir)/wdns/gen_rcode_to_str wdns/wdns.h wdns/rcode_to_str.c
72
73wdns/rrclass_to_str.c: wdns/wdns.h wdns/gen_rrclass_to_str
74	$(PYTHON) $(top_srcdir)/wdns/gen_rrclass_to_str wdns/wdns.h wdns/rrclass_to_str.c
75
76wdns/rrtype_to_str.c: wdns/wdns.h wdns/gen_rrtype_to_str
77	$(PYTHON) $(top_srcdir)/wdns/gen_rrtype_to_str wdns/wdns.h wdns/rrtype_to_str.c
78
79wdns_libwdns_la_CPPFLAGS = \
80	-include $(top_builddir)/wdns/wdns-private.h
81wdns_libwdns_la_LDFLAGS = $(AM_LDFLAGS) \
82	-version-info $(LIBWDNS_CURRENT):$(LIBWDNS_REVISION):$(LIBWDNS_AGE)
83if HAVE_LD_VERSION_SCRIPT
84wdns_libwdns_la_LDFLAGS += \
85	-Wl,--version-script=$(top_srcdir)/wdns/libwdns.sym
86else
87wdns_libwdns_la_LDFLAGS += \
88	-export-symbols-regex "^(wdns_[a-z].*)"
89endif
90EXTRA_DIST += wdns/libwdns.sym
91wdns_libwdns_la_SOURCES = \
92	libmy/my_alloc.h \
93	libmy/vector.h \
94	libmy/ubuf.h \
95	wdns/wdns-private.h \
96	wdns/wdns.h \
97	libmy/b32_decode.c \
98	libmy/b32_decode.h \
99	libmy/b32_encode.c \
100	libmy/b32_encode.h \
101	libmy/b64_decode.c \
102	libmy/b64_decode.h \
103	libmy/b64_encode.c \
104	libmy/b64_encode.h \
105	wdns/clear.c \
106	wdns/compare_rr_rrset.c \
107	wdns/copy_uname.c \
108	wdns/count_labels.c \
109	wdns/deserialize_rrset.c \
110	wdns/domain_to_str.c \
111	wdns/downcase_name.c \
112	wdns/downcase_rdata.c \
113	wdns/downcase_rrset.c \
114	wdns/file_load_names.c \
115	wdns/insert_rr_rrset_array.c \
116	wdns/is_subdomain.c \
117	wdns/left_chop.c \
118	wdns/len_uname.c \
119	wdns/message_to_str.c \
120	wdns/parse_edns.c \
121	wdns/parse_header.c \
122	wdns/parse_message.c \
123	wdns/parse_message_rr.c \
124	wdns/parse_rdata.c \
125	wdns/print_message.c \
126	wdns/print_rr.c \
127	wdns/print_rrset.c \
128	wdns/print_rrset_array.c \
129	wdns/opcode_to_str.c \
130	wdns/rcode_to_str.c \
131	wdns/rdata_to_str.c \
132	wdns/rdata_to_ubuf.c \
133	wdns/record_descr.c \
134	wdns/record_descr.h \
135	wdns/res_to_str.c \
136	wdns/reverse_name.c \
137	wdns/rr_to_str.c \
138	wdns/rr_to_ubuf.c \
139	wdns/rrclass_to_str.c \
140	wdns/rrtype_to_str.c \
141	wdns/rrset_array_to_str.c \
142	wdns/rrset_array_to_ubuf.c \
143	wdns/rrset_to_str.c \
144	wdns/rrset_to_ubuf.c \
145	wdns/serialize_rrset.c \
146	wdns/sort_rrset.c \
147	wdns/skip_name.c \
148	wdns/str_to_name.c \
149	wdns/str_to_rdata_ubuf.c \
150	wdns/unpack_name.c \
151	wdns/version.c
152
153pkgconfig_DATA = wdns/libwdns.pc
154EXTRA_DIST += wdns/libwdns.pc.in
155CLEANFILES += wdns/libwdns.pc
156
157noinst_PROGRAMS += examples/wdns-dump-file
158examples_wdns_dump_file_LDADD = wdns/libwdns.la
159examples_wdns_dump_file_SOURCES = \
160	examples/private.h \
161	examples/wdns-dump-file.c
162
163if LIBPCAP
164noinst_PROGRAMS += examples/wdns-dump-pcap
165examples_wdns_dump_pcap_LDADD = wdns/libwdns.la -lpcap
166examples_wdns_dump_pcap_SOURCES = \
167	examples/private.h \
168	examples/wdns-dump-pcap.c
169endif
170
171noinst_PROGRAMS += examples/wdns-print-version
172examples_wdns_print_version_LDADD = wdns/libwdns.la
173examples_wdns_print_version_SOURCES = \
174	examples/private.h \
175	examples/wdns-print-version.c
176
177noinst_PROGRAMS += examples/wdns-test-deserialize-rrset
178examples_wdns_test_deserialize_rrset_LDADD = wdns/libwdns.la
179examples_wdns_test_deserialize_rrset_SOURCES = \
180	examples/private.h \
181	examples/wdns-hex-driver.c \
182	examples/wdns-test-deserialize-rrset.c
183
184noinst_PROGRAMS += examples/wdns-test-downcase-rrset
185examples_wdns_test_downcase_rrset_LDADD = wdns/libwdns.la
186examples_wdns_test_downcase_rrset_SOURCES = \
187	examples/private.h \
188	examples/wdns-hex-driver.c \
189	examples/wdns-test-downcase-rrset.c
190
191noinst_PROGRAMS += examples/wdns-test-print-message
192examples_wdns_test_print_message_LDADD = wdns/libwdns.la
193examples_wdns_test_print_message_SOURCES = \
194	examples/private.h \
195	examples/wdns-hex-driver.c \
196	examples/wdns-test-print-message.c
197
198noinst_PROGRAMS += examples/wdns-test-serialize-rrset
199examples_wdns_test_serialize_rrset_LDADD = wdns/libwdns.la
200examples_wdns_test_serialize_rrset_SOURCES = \
201	examples/private.h \
202	examples/wdns-hex-driver.c \
203	examples/wdns-test-serialize-rrset.c
204
205#
206##
207### tests
208##
209#
210
211EXTRA_DIST += t/test-common.h
212
213AM_TESTS_ENVIRONMENT = top_builddir='$(top_builddir)'; top_srcdir='$(top_srcdir)'; export top_builddir top_srcdir;
214TESTS_ENVIRONMENT = $(AM_TESTS_ENVIRONMENT)
215
216TESTS += t/test-name_to_str
217check_PROGRAMS += t/test-name_to_str
218t_test_name_to_str_SOURCES = t/test-name_to_str.c t/test-common.c
219t_test_name_to_str_LDADD = wdns/libwdns.la
220
221TESTS += t/test-str_to_name
222check_PROGRAMS += t/test-str_to_name
223t_test_str_to_name_SOURCES = t/test-str_to_name.c t/test-common.c
224t_test_str_to_name_LDADD = wdns/libwdns.la
225
226TESTS += t/test-str_to_rcode
227check_PROGRAMS += t/test-str_to_rcode
228t_test_str_to_rcode_SOURCES = t/test-str_to_rcode.c t/test-common.c
229t_test_str_to_rcode_LDADD = wdns/libwdns.la
230
231TESTS += t/test-str_to_rdata
232check_PROGRAMS += t/test-str_to_rdata
233t_test_str_to_rdata_SOURCES = t/test-str_to_rdata.c t/test-common.c
234t_test_str_to_rdata_LDADD = wdns/libwdns.la
235
236TESTS += t/test-rdata_to_str
237check_PROGRAMS += t/test-rdata_to_str
238t_test_rdata_to_str_SOURCES = t/test-rdata_to_str.c t/test-common.c
239t_test_rdata_to_str_LDADD = wdns/libwdns.la
240
241TESTS += t/test-str_to_rrtype
242check_PROGRAMS += t/test-str_to_rrtype
243t_test_str_to_rrtype_SOURCES = t/test-str_to_rrtype.c t/test-common.c
244t_test_str_to_rrtype_LDADD = wdns/libwdns.la
245