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