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