xref: /netbsd-src/crypto/external/bsd/heimdal/dist/lib/roken/Makefile.am (revision b9d004c6cc8d38329417ae29768c81e5f2a296cf)
1# Id
2
3include $(top_srcdir)/Makefile.am.common
4
5ACLOCAL_AMFLAGS = -I ../../cf
6
7CLEANFILES = roken.h make-roken.c $(XHEADERS)
8
9lib_LTLIBRARIES = libroken.la
10
11libroken_la_LDFLAGS = -version-info 19:0:1
12libroken_la_CPPFLAGS = -DBUILD_ROKEN_LIB
13
14if versionscript
15libroken_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
16endif
17
18AM_CPPFLAGS += $(libroken_la_CPPFLAGS)
19if HAVE_DBHEADER
20AM_CPPFLAGS += -I$(DBHEADER)
21endif
22
23noinst_PROGRAMS = snprintf-test resolve-test rkpty test-detach
24
25CHECK_LOCAL = snprintf-test resolve-test rkpty make-roken
26
27check_PROGRAMS = 				\
28		base64-test			\
29		getaddrinfo-test		\
30		getifaddrs-test			\
31		getxxyyy-test			\
32		hex-test			\
33		test-readenv			\
34		resolve-test			\
35		parse_bytes-test		\
36		parse_reply-test		\
37		parse_time-test			\
38		snprintf-test			\
39		strpftime-test			\
40		tsearch-test
41
42TESTS = $(check_PROGRAMS)
43
44LDADD = libroken.la
45make_roken_LDADD =
46
47noinst_LTLIBRARIES = libtest.la
48libtest_la_SOURCES = strftime.c strptime.c snprintf.c tsearch.c
49libtest_la_CFLAGS = -DTEST_SNPRINTF -DTEST_STRPFTIME
50
51parse_reply_test_SOURCES = parse_reply-test.c resolve.c
52parse_reply_test_CFLAGS  = -DTEST_RESOLVE
53
54test_readenv_SOURCES = test-readenv.c test-mem.c
55
56test_detach_SOURCES = test-detach.c
57
58rkpty_LDADD = $(LIB_openpty) $(LDADD)
59
60parse_time_test_SOURCES = parse_time-test.c test-mem.c
61
62strpftime_test_SOURCES	= strpftime-test.c strpftime-test.h
63strpftime_test_LDADD = libtest.la $(LDADD)
64strpftime_test_CFLAGS = -DTEST_STRPFTIME
65snprintf_test_SOURCES	= snprintf-test.c
66snprintf_test_LDADD = libtest.la $(LDADD)
67snprintf_test_CFLAGS	= -DTEST_SNPRINTF
68tsearch_test_SOURCES	= tsearch-test.c
69tsearch_test_LDADD = libtest.la $(LDADD)
70tsearch_test_CFLAGS	= -DTEST_TSEARCH
71
72getxxyyy_test_SOURCES	= getxxyyy.c
73getxxyyy_test_CFLAGS	= -DTEST_GETXXYYY
74
75resolve_test_SOURCES = resolve-test.c
76
77libroken_la_SOURCES =		\
78	base64.c		\
79	bswap.c			\
80	concat.c		\
81	cloexec.c		\
82	ct.c			\
83	detach.c		\
84	doxygen.c		\
85	dumpdata.c		\
86	environment.c		\
87	eread.c			\
88	esetenv.c		\
89	ewrite.c		\
90	getaddrinfo_hostspec.c	\
91	get_default_username.c	\
92	get_window_size.c	\
93	getarg.c		\
94	getnameinfo_verified.c	\
95	getprogname.c		\
96	getxxyyy.c		\
97	h_errno.c		\
98	hex.c			\
99	hostent_find_fqdn.c	\
100	issuid.c		\
101	k_getpwnam.c		\
102	k_getpwuid.c		\
103	mini_inetd.c		\
104	mkdir.c                 \
105	net_read.c		\
106	net_write.c		\
107	parse_bytes.c		\
108	parse_time.c		\
109	parse_units.c		\
110	qsort.c			\
111	rand.c			\
112	realloc.c		\
113	resolve.c		\
114	roken_gethostby.c	\
115	rtbl.c			\
116	rtbl.h			\
117	setprogname.c		\
118	signal.c		\
119	simple_exec.c		\
120	snprintf.c		\
121	socket.c		\
122	strcollect.c		\
123	strerror_r.c		\
124	strpool.c		\
125	timeval.c		\
126	tm2time.c		\
127	unvis.c			\
128	verify.c		\
129	vis.c			\
130	warnerr.c		\
131	write_pid.c		\
132	xfree.c			\
133	xdbm.h
134
135EXTRA_libroken_la_SOURCES =	\
136	err.hin			\
137	glob.hin		\
138	fnmatch.hin		\
139	ifaddrs.hin		\
140	search.hin		\
141	vis.hin
142
143libroken_la_LIBADD = @LTLIBOBJS@ $(LIB_crypt) $(LIB_pidfile)
144
145$(LTLIBOBJS) $(libroken_la_OBJECTS): roken.h $(XHEADERS)
146
147BUILT_SOURCES = roken.h
148
149if have_err_h
150err_h =
151else
152err_h = err.h
153endif
154
155if have_fnmatch_h
156fnmatch_h =
157else
158fnmatch_h = fnmatch.h
159endif
160
161if have_glob_h
162glob_h =
163else
164glob_h = glob.h
165endif
166
167if have_ifaddrs_h
168ifaddrs_h =
169else
170ifaddrs_h = ifaddrs.h
171endif
172
173if have_search_h
174search_h =
175else
176search_h = search.h
177endif
178
179if have_vis_h
180vis_h =
181else
182vis_h = vis.h
183endif
184
185## these are controlled by configure
186XHEADERS = $(err_h) $(fnmatch_h) $(glob_h) $(ifaddrs_h) $(search_h) $(vis_h)
187CLEANFILES += err.h fnmatch.h glob.h ifaddrs.h search.h vis.h
188
189dist_include_HEADERS = 				\
190	base64.h				\
191	getarg.h				\
192	hex.h					\
193	parse_bytes.h 				\
194	parse_time.h 				\
195	parse_units.h				\
196	resolve.h 				\
197	roken-common.h 				\
198	rtbl.h 					\
199	xdbm.h
200
201if have_socket_wrapper
202libroken_la_SOURCES += socket_wrapper.c socket_wrapper.h
203dist_include_HEADERS += socket_wrapper.h
204endif
205
206build_HEADERZ = test-mem.h $(XHEADERS)
207
208nodist_include_HEADERS = roken.h
209rokenincludedir = $(includedir)/roken
210nodist_rokeninclude_HEADERS = $(XHEADERS)
211
212man_MANS = getarg.3 parse_time.3 rtbl.3 ecalloc.3
213
214SUFFIXES += .hin
215.hin.h:
216	cp $< $@
217
218# Make make-roken deprecated in 1.4 when we know that roken-h-process.pl works
219if !CROSS_COMPILE
220
221noinst_PROGRAMS += make-roken
222BUILT_SOURCES += make-roken.c
223
224nodist_make_roken_SOURCES = make-roken.c
225
226roken.h: make-roken$(EXEEXT)
227	@./make-roken$(EXEEXT) > tmp.h ;\
228	if [ -f roken.h ] && cmp -s tmp.h roken.h ; then rm -f tmp.h ; \
229	else rm -f roken.h; mv tmp.h roken.h; fi
230
231make-roken.c: roken.h.in roken.awk
232	$(AWK) -f $(srcdir)/roken.awk $(srcdir)/roken.h.in > make-roken.c
233
234else
235
236roken.h: $(top_srcdir)/cf/roken-h-process.pl roken.h.in
237	perl $(top_srcdir)/cf/roken-h-process.pl \
238	-c $(top_builddir)/include/config.h  \
239	-p $(srcdir)/roken.h.in -o roken.h
240
241endif
242
243
244EXTRA_DIST = \
245	NTMakefile \
246	roken.awk roken.h.in \
247	$(man_MANS) \
248	dirent.c \
249	dirent.hin \
250	dirent-test.c \
251	dlfcn.hin \
252	dlfcn_w32.c \
253	getifaddrs_w32.c \
254	ndbm_wrap.c \
255	ndbm_wrap.h \
256	rename.c \
257	simple_exec_w32.c \
258	sleep.c \
259	sockstartup_w32.c \
260	stdbool.hin \
261	stdint.hin \
262	syslogc.c \
263	syslog.hin \
264	test-mem.h \
265	test-mini_inetd.c \
266	win32_alloc.c \
267	version-script.map
268