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