1 ########################################################################
3 # Copyright (c) 2009 - 2017, Secure Endpoints Inc.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
10 # - Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
13 # - Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in
15 # the documentation and/or other materials provided with the
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
34 !include ../../windows/NTMakefile.w32
46 $(OBJ)\dlfcn_w32.obj \
50 $(OBJ)\environment.obj \
62 $(OBJ)\getauxval.obj \
63 $(OBJ)\getaddrinfo_hostspec.obj \
64 $(OBJ)\get_window_size.obj \
66 $(OBJ)\getifaddrs_w32.obj \
67 $(OBJ)\getnameinfo_verified.obj \
69 $(OBJ)\getprogname.obj \
70 $(OBJ)\gettimeofday.obj \
71 $(OBJ)\getuserinfo.obj \
73 $(OBJ)\hostent_find_fqdn.obj \
74 $(OBJ)\inet_aton.obj \
76 $(OBJ)\localtime_r.obj \
80 $(OBJ)\mergesort_r.obj \
82 $(OBJ)\mini_inetd.obj \
87 $(OBJ)\net_write.obj \
88 $(OBJ)\parse_bytes.obj \
89 $(OBJ)\parse_time.obj \
90 $(OBJ)\parse_units.obj \
95 $(OBJ)\roken_gethostby.obj \
97 $(OBJ)\secure_getenv.obj \
100 $(OBJ)\setprogname.obj \
101 $(OBJ)\simple_exec_w32.obj \
103 $(OBJ)\snprintf.obj \
105 $(OBJ)\sockstartup_w32.obj \
106 $(OBJ)\strcollect.obj \
107 $(OBJ)\strerror_r.obj \
108 $(OBJ)\strftime.obj \
113 $(OBJ)\strptime.obj \
115 $(OBJ)\strsep_copy.obj \
116 $(OBJ)\strtok_r.obj \
118 $(OBJ)\strtoull.obj \
133 $(OBJ)\win32_alloc.obj \
134 $(OBJ)\win32_version.obj \
138 !if $(NMAKE_WINVER) < 0x0600
139 libroken_la_OBJS=$(libroken_la_OBJS) \
140 $(OBJ)\inet_ntop.obj \
145 $(C2OBJ_P) -DBUILD_ROKEN_LIB
147 $(LIBROKEN): $(libroken_la_OBJS)
148 $(LIBCON_C) -out:$@ @<<
153 $(OBJ)\make-roken.exe: $(OBJ)\make-roken.obj
156 $(OBJ)\make-roken.c: roken.h.in roken.awk $(INCDIR)\config.h
157 $(AWK) -f roken.awk roken.h.in > $(OBJ)\make-roken.c || $(RM) $(OBJ)\make-roken.c
159 $(INCDIR)\roken.h: $(OBJ)\make-roken.exe
160 $(OBJ)\make-roken.exe > $@ || $(RM) $@
168 $(INCDIR)\fnmatch.h \
171 $(INCDIR)\ifaddrs.h \
172 $(INCDIR)\parse_bytes.h \
173 $(INCDIR)\parse_time.h \
174 $(INCDIR)\parse_units.h \
175 $(INCDIR)\resolve.h \
177 $(INCDIR)\roken-common.h \
180 $(INCDIR)\stdbool.h \
183 $(INCDIR)\vis-extras.h \
184 !ifndef HAVE_STDINT_H
187 $(INCDIR)\versionsupport.h \
193 all:: $(INCFILES) $(LIBROKEN)
198 TMP_PROGS = $(OBJ)\snprintf-test.exe $(OBJ)\resolve-test.exe $(OBJ)\test-getuserinfo.exe
203 $(OBJ)\base32-test.exe \
204 $(OBJ)\base64-test.exe \
205 $(OBJ)\getaddrinfo-test.exe \
206 $(OBJ)\getifaddrs-test.exe \
207 $(OBJ)\hex-test.exe \
208 $(OBJ)\test-detach.exe \
209 $(OBJ)\test-getuserinfo.exe \
210 $(OBJ)\test-readenv.exe \
211 $(OBJ)\parse_bytes-test.exe \
212 $(OBJ)\parse_reply-test.exe \
213 $(OBJ)\parse_time-test.exe \
214 $(OBJ)\snprintf-test.exe \
215 $(OBJ)\strpftime-test.exe \
216 $(OBJ)\dirent-test.exe \
217 $(OBJ)\test-mini_inetd.exe
219 $(OBJ)\strftime_test.obj: strftime.c
220 $(C2OBJ) -DTEST_SNPRINTF -DTEST_STRPFTIME -DBUILD_ROKEN_LIB
222 $(OBJ)\strptime_test.obj: strptime.c
223 $(C2OBJ) -DTEST_SNPRINTF -DTEST_STRPFTIME -DBUILD_ROKEN_LIB
225 $(OBJ)\snprintf_test.obj: snprintf.c
226 $(C2OBJ) -DTEST_SNPRINTF -DTEST_STRPFTIME -DBUILD_ROKEN_LIB
228 $(OBJ)\libtest.lib: $(OBJ)\strftime_test.obj $(OBJ)\strptime_test.obj $(OBJ)\snprintf_test.obj
231 $(OBJ)\parse_reply-test.obj: parse_reply-test.c
232 $(C2OBJ) -DTEST_RESOLVE -DBUILD_ROKEN_LIB
234 $(OBJ)\resolve_test.obj: resolve.c
235 $(C2OBJ) -DTEST_RESOLVE -DBUILD_ROKEN_LIB
237 $(OBJ)\parse_reply-test.exe: $(OBJ)\parse_reply-test.obj $(OBJ)\resolve_test.obj $(LIBROKEN)
238 $(EXECONLINK) DnsAPI.lib
240 $(OBJ)\test-readenv.exe: $(OBJ)\test-readenv.obj $(OBJ)\test-mem.obj $(LIBROKEN)
243 $(OBJ)\parse_time-test.exe: $(OBJ)\parse_time-test.obj $(OBJ)\test-mem.obj $(LIBROKEN)
246 $(OBJ)\strpftime-test.obj: strpftime-test.c
247 $(C2OBJ) -DTEST_STRPFTIME -DBUILD_ROKEN_LIB
249 $(OBJ)\strpftime-test.exe: $(OBJ)\strpftime-test.obj $(OBJ)\libtest.lib $(LIBROKEN)
252 $(OBJ)\snprintf-test.obj: snprintf-test.c
253 $(C2OBJ) -DTEST_SNPRINTF -DBUILD_ROKEN_LIB
255 $(OBJ)\snprintf-test.exe: $(OBJ)\snprintf-test.obj $(OBJ)\libtest.lib $(LIBROKEN)
258 $(OBJ)\resolve-test.exe: $(OBJ)\resolve-test.obj $(LIBROKEN)
259 $(EXECONLINK) DnsAPI.lib
261 $(OBJ)\base32-test.exe: $(OBJ)\base32-test.obj $(OBJ)\base32.obj $(LIBROKEN)
264 $(OBJ)\base64-test.exe: $(OBJ)\base64-test.obj $(OBJ)\base64.obj $(LIBROKEN)
267 $(OBJ)\getaddrinfo-test.exe: $(OBJ)\getaddrinfo-test.obj $(LIBROKEN)
270 $(OBJ)\hex-test.exe: $(OBJ)\hex-test.obj $(LIBROKEN)
273 $(OBJ)\parse_bytes-test.exe: $(OBJ)\parse_bytes-test.obj $(LIBROKEN)
276 $(OBJ)\test-detach.exe: $(OBJ)\test-detach.obj $(OBJ)\detach.obj $(LIBROKEN)
279 $(OBJ)\test-getuserinfo.exe: $(OBJ)\test-getuserinfo.obj $(OBJ)\getuserinfo.obj $(LIBROKEN)
280 $(EXECONLINK) Secur32.lib Shell32.lib
282 $(OBJ)\dirent-test.exe: $(OBJ)\dirent-test.obj $(LIBROKEN)
285 $(OBJ)\getifaddrs-test.exe: $(OBJ)\getifaddrs-test.obj $(LIBROKEN)
288 $(OBJ)\test-mini_inetd.exe: $(OBJ)\test-mini_inetd.obj $(LIBROKEN)
291 test-binaries: $(TEST_PROGS) $(TMP_PROGS)
299 -getaddrinfo-test.exe www.h5l.org http
303 -parse_bytes-test.exe
304 # Need to rewrite this test:
305 # -parse_reply-test.exe
311 test:: test-binaries test-run