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