1include ../Makefile.global 2 3top = .. 4RUNTESTS_CFLAGS = -DC_TAP_SOURCE='"$(abs_builddir)/tests"' -DC_TAP_BUILD='"$(abs_builddir)/tests"' 5CFLAGS = $(GCFLAGS) $(BDB_CPPFLAGS) $(DBM_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(PERL_CPPFLAGS) $(PYTHON_CPPFLAGS) $(SSL_CPPFLAGS) $(SASL_CPPFLAGS) $(KRB5_CPPFLAGS) $(RUNTESTS_CFLAGS) -I. 6 7## On some platforms, linking with libm is needed as the test suite uses 8## math functions (currently only lib/confparse-t.c). 9LIBM_LDFLAGS = '-lm' 10 11## The tests that need to be built. Tests in the form of shell scripts 12## or some other form that doesn't require compiling shouldn't be in this 13## list. If they need other things compiled, those other things should be 14## added to EXTRA. 15 16TESTS = authprogs/ident.t innd/artparse.t innd/chan.t lib/artnumber.t lib/asprintf.t \ 17 lib/buffer.t lib/concat.t lib/conffile.t lib/confparse.t lib/date.t \ 18 lib/dispatch.t lib/fdflag.t \ 19 lib/getaddrinfo.t lib/getnameinfo.t lib/hash.t \ 20 lib/hashtab.t lib/headers.t lib/hex.t lib/inet_aton.t \ 21 lib/inet_ntoa.t lib/inet_ntop.t lib/innconf.t lib/list.t lib/md5.t \ 22 lib/messageid.t lib/messages.t lib/mkstemp.t \ 23 lib/network/addr-ipv4.t lib/network/addr-ipv6.t \ 24 lib/network/client.t lib/network/server.t \ 25 lib/pread.t lib/pwrite.t lib/qio.t lib/reallocarray.t \ 26 lib/setenv.t lib/snprintf.t lib/strlcat.t \ 27 lib/strlcpy.t lib/tst.t lib/uwildmat.t lib/vector.t lib/wire.t \ 28 lib/xwrite.t nnrpd/auth-ext.t overview/api.t overview/buffindexed.t \ 29 overview/tradindexed.t overview/xref.t util/innbind.t 30 31## Extra stuff that needs to be built before tests can be run. 32 33EXTRA = runtests clients/server-list docs/pod.t lib/xmalloc 34 35all check test tests: $(TESTS) $(EXTRA) 36 ./runtests -l TESTS 37 38build: $(TESTS) $(EXTRA) 39 40warnings: 41 $(MAKE) COPT='$(WARNINGS)' build 42 43clean clobber distclean maintclean: 44 rm -f *.o *.lo */*.o */*.lo */*/*.o */*/*.o \ 45 .pure */.pure */*/.pure $(TESTS) $(EXTRA) 46 rm -rf .libs */.libs */*/.libs 47 48$(FIXSCRIPT): 49 @echo Run configure before running make. See INSTALL for details. 50 @exit 1 51 52.c.o: 53 $(CC) $(CFLAGS) -c -o $@ $*.c 54 55LINK = $(LIBLD) $(LDFLAGS) $(BDB_LDFLAGS) $(SSL_LDFLAGS) $(SASL_LDFLAGS) $(KRB5_LDFLAGS) -o $@ 56LINKDEPS = $(LIBLDDEPS) $(LDFLAGS) $(BDB_LDFLAGS) $(SSL_LDFLAGS) $(SASL_LDFLAGS) $(KRB5_LDFLAGS) -o $@ 57STORAGEDEPS = $(LIBSTORAGE) $(LIBHIST) $(LIBINN) 58STORAGELIBS = $(STORAGEDEPS) $(STORAGE_LIBS) 59 60# All of the innd object files other than innd.o, for INN unit testing. 61INNOBJS = ../innd/art.o ../innd/cc.o ../innd/chan.o ../innd/icd.o \ 62 ../innd/keywords.o ../innd/lc.o ../innd/nc.o \ 63 ../innd/newsfeeds.o ../innd/ng.o ../innd/perl.o \ 64 ../innd/proc.o ../innd/python.o ../innd/rc.o ../innd/site.o \ 65 ../innd/status.o ../innd/util.o ../innd/wip.o 66 67# The libraries innd needs to link. 68INNDLIBS = $(LIBSTORAGE) $(LIBHIST) $(LIBINN) $(STORAGE_LIBS) \ 69 $(SYSTEMD_LIBS) \ 70 $(PYTHON_LIBS) $(REGEX_LIBS) $(LIBS) $(PERL_LIBS) 71 72runtests: runtests.o 73 $(LINK) runtests.o 74 75clients/server-list: clients/server-list.in $(FIXSCRIPT) 76 $(FIXSCRIPT) -i clients/server-list.in 77 78docs/pod.t: docs/pod.t.in $(FIXSCRIPT) 79 $(FIXSCRIPT) -i docs/pod.t.in 80 81authprogs/ident.t: authprogs/ident-t.o tap/basic.o $(LIBINN) 82 $(LINK) authprogs/ident-t.o tap/basic.o $(LIBINN) $(LIBS) 83 84innd/artparse.t: innd/artparse-t.o innd/fakeinnd.o tap/basic.o $(INNOBJS) 85 $(LINK) innd/artparse-t.o innd/fakeinnd.o tap/basic.o $(INNOBJS) \ 86 $(INNDLIBS) 87 88innd/chan.t: innd/chan-t.o innd/fakeinnd.o tap/basic.o $(INNOBJS) 89 $(LINK) innd/chan-t.o innd/fakeinnd.o tap/basic.o $(INNOBJS) $(INNDLIBS) 90 91lib/artnumber.t: lib/artnumber-t.o tap/basic.o $(LIBINN) 92 $(LINK) lib/artnumber-t.o tap/basic.o $(LIBINN) 93 94lib/asprintf.o: ../lib/asprintf.c 95 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/asprintf.c 96 97lib/asprintf.t: lib/asprintf.o lib/asprintf-t.o tap/basic.o $(LIBINN) 98 $(LINK) lib/asprintf.o lib/asprintf-t.o tap/basic.o $(LIBINN) $(LIBS) 99 100lib/buffer.t: lib/buffer-t.o tap/basic.o $(LIBINN) 101 $(LINK) lib/buffer-t.o tap/basic.o $(LIBINN) 102 103lib/concat.t: lib/concat-t.o tap/basic.o $(LIBINN) 104 $(LINK) lib/concat-t.o tap/basic.o $(LIBINN) 105 106lib/conffile.t: lib/conffile-t.o tap/basic.o $(LIBINN) 107 $(LINK) lib/conffile-t.o tap/basic.o $(LIBINN) 108 109lib/confparse.t: lib/confparse-t.o tap/basic.o tap/float.o tap/messages.o tap/string.o $(LIBINN) 110 $(LINK) $(LIBM_LDFLAGS) lib/confparse-t.o tap/basic.o tap/float.o \ 111 tap/messages.o tap/string.o $(LIBINN) 112 113lib/date.t: lib/date-t.o tap/basic.o tap/string.o $(LIBINN) 114 $(LINK) lib/date-t.o tap/basic.o tap/string.o $(LIBINN) 115 116lib/dispatch.t: lib/dispatch-t.o tap/basic.o $(LIBINN) 117 $(LINK) lib/dispatch-t.o tap/basic.o $(LIBINN) 118 119lib/fdflag.t: lib/fdflag-t.o tap/basic.o $(LIBINN) 120 $(LINK) lib/fdflag-t.o tap/basic.o $(LIBINN) $(LIBS) 121 122lib/getaddrinfo.o: ../lib/getaddrinfo.c 123 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/getaddrinfo.c 124 125lib/getaddrinfo.t: lib/getaddrinfo.o lib/getaddrinfo-t.o tap/basic.o $(LIBINN) 126 $(LINK) lib/getaddrinfo.o lib/getaddrinfo-t.o tap/basic.o \ 127 $(LIBINN) $(LIBS) 128 129lib/getnameinfo.o: ../lib/getnameinfo.c 130 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/getnameinfo.c 131 132lib/getnameinfo.t: lib/getnameinfo.o lib/getnameinfo-t.o tap/basic.o $(LIBINN) 133 $(LINK) lib/getnameinfo.o lib/getnameinfo-t.o tap/basic.o \ 134 $(LIBINN) $(LIBS) 135 136lib/hash.t: lib/hash-t.o tap/basic.o $(LIBINN) 137 $(LINK) lib/hash-t.o tap/basic.o $(LIBINN) 138 139lib/hashtab.t: lib/hashtab-t.o tap/basic.o $(LIBINN) 140 $(LINK) lib/hashtab-t.o tap/basic.o $(LIBINN) 141 142lib/headers.t: lib/headers-t.o tap/basic.o $(LIBINN) 143 $(LINK) lib/headers-t.o tap/basic.o $(LIBINN) 144 145lib/hex.t: lib/hex-t.o tap/basic.o $(LIBINN) 146 $(LINK) lib/hex-t.o tap/basic.o $(LIBINN) $(LIBS) 147 148lib/inet_aton.o: ../lib/inet_aton.c 149 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/inet_aton.c 150 151lib/inet_aton.t: lib/inet_aton.o lib/inet_aton-t.o tap/basic.o $(LIBINN) 152 $(LINK) lib/inet_aton.o lib/inet_aton-t.o tap/basic.o $(LIBINN) 153 154lib/inet_ntoa.o: ../lib/inet_ntoa.c 155 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/inet_ntoa.c 156 157lib/inet_ntoa.t: lib/inet_ntoa.o lib/inet_ntoa-t.o tap/basic.o $(LIBINN) 158 $(LINK) lib/inet_ntoa.o lib/inet_ntoa-t.o tap/basic.o $(LIBINN) 159 160lib/inet_ntop.o: ../lib/inet_ntop.c 161 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/inet_ntop.c 162 163lib/inet_ntop.t: lib/inet_ntop.o lib/inet_ntop-t.o tap/basic.o $(LIBINN) 164 $(LINK) lib/inet_ntop.o lib/inet_ntop-t.o tap/basic.o $(LIBINN) 165 166lib/innconf.t: lib/innconf-t.o tap/basic.o tap/messages.o tap/string.o $(LIBINN) 167 $(LINK) lib/innconf-t.o tap/basic.o tap/messages.o \ 168 tap/string.o $(LIBINN) $(LIBS) 169 170lib/list.t: lib/list-t.o tap/basic.o $(LIBINN) 171 $(LINK) lib/list-t.o tap/basic.o $(LIBINN) $(LIBS) 172 173lib/md5.t: lib/md5-t.o tap/basic.o $(LIBINN) 174 $(LINK) lib/md5-t.o tap/basic.o $(LIBINN) 175 176lib/messageid.t: lib/messageid-t.o tap/basic.o $(LIBINN) 177 $(LINK) lib/messageid-t.o tap/basic.o $(LIBINN) 178 179lib/messages.t: lib/messages-t.o tap/basic.o tap/process.o tap/string.o $(LIBINN) 180 $(LINK) lib/messages-t.o tap/basic.o tap/process.o tap/string.o \ 181 $(LIBINN) 182 183lib/mkstemp.o: ../lib/mkstemp.c 184 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/mkstemp.c 185 186lib/mkstemp.t: lib/mkstemp.o lib/mkstemp-t.o tap/basic.o $(LIBINN) 187 $(LINK) lib/mkstemp.o lib/mkstemp-t.o tap/basic.o $(LIBINN) 188 189lib/network/addr-ipv4.t: lib/network/addr-ipv4-t.o tap/basic.o $(LIBINN) 190 $(LINK) lib/network/addr-ipv4-t.o tap/basic.o $(LIBINN) $(LIBS) 191 192lib/network/addr-ipv6.t: lib/network/addr-ipv6-t.o tap/basic.o $(LIBINN) 193 $(LINK) lib/network/addr-ipv6-t.o tap/basic.o $(LIBINN) $(LIBS) 194 195lib/network/client.t: lib/network/client-t.o tap/basic.o tap/messages.o tap/string.o $(LIBINN) 196 $(LINK) lib/network/client-t.o tap/basic.o tap/messages.o \ 197 tap/string.o $(LIBINN) $(LIBS) 198 199lib/network/server.t: lib/network/server-t.o tap/basic.o tap/messages.o tap/string.o $(LIBINN) 200 $(LINK) lib/network/server-t.o tap/basic.o tap/messages.o \ 201 tap/string.o $(LIBINN) $(LIBS) 202 203lib/pread.o: ../lib/pread.c 204 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/pread.c 205 206lib/pread.t: lib/pread.o lib/pread-t.o tap/basic.o $(LIBINN) 207 $(LINK) lib/pread.o lib/pread-t.o tap/basic.o $(LIBINN) 208 209lib/pwrite.o: ../lib/pwrite.c 210 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/pwrite.c 211 212lib/pwrite.t: lib/pwrite.o lib/pwrite-t.o tap/basic.o $(LIBINN) 213 $(LINK) lib/pwrite.o lib/pwrite-t.o tap/basic.o $(LIBINN) 214 215lib/qio.t: lib/qio-t.o tap/basic.o $(LIBINN) 216 $(LINK) lib/qio-t.o tap/basic.o $(LIBINN) 217 218lib/reallocarray.o: ../lib/reallocarray.c 219 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/reallocarray.c 220 221lib/reallocarray.t: lib/reallocarray.o lib/reallocarray-t.o tap/basic.o $(LIBINN) 222 $(LINK) lib/reallocarray.o lib/reallocarray-t.o tap/basic.o $(LIBINN) 223 224lib/setenv.o: ../lib/setenv.c 225 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/setenv.c 226 227lib/setenv.t: lib/setenv.o lib/setenv-t.o tap/basic.o $(LIBINN) 228 $(LINK) lib/setenv.o lib/setenv-t.o tap/basic.o $(LIBINN) 229 230lib/snprintf.o: ../lib/snprintf.c 231 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/snprintf.c 232 233lib/snprintf.t: lib/snprintf.o lib/snprintf-t.o tap/basic.o $(LIBINN) 234 $(LINK) lib/snprintf.o lib/snprintf-t.o tap/basic.o $(LIBINN) 235 236lib/strlcat.o: ../lib/strlcat.c 237 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/strlcat.c 238 239lib/strlcat.t: lib/strlcat.o lib/strlcat-t.o tap/basic.o $(LIBINN) 240 $(LINK) lib/strlcat.o lib/strlcat-t.o tap/basic.o $(LIBINN) 241 242lib/strlcpy.o: ../lib/strlcpy.c 243 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/strlcpy.c 244 245lib/strlcpy.t: lib/strlcpy.o lib/strlcpy-t.o tap/basic.o $(LIBINN) 246 $(LINK) lib/strlcpy.o lib/strlcpy-t.o tap/basic.o $(LIBINN) 247 248lib/tst.t: lib/tst-t.o tap/basic.o $(LIBINN) 249 $(LINK) lib/tst-t.o tap/basic.o $(LIBINN) 250 251lib/uwildmat.t: lib/uwildmat-t.o tap/basic.o $(LIBINN) 252 $(LINK) lib/uwildmat-t.o tap/basic.o $(LIBINN) 253 254lib/vector.t: lib/vector-t.o tap/basic.o tap/string.o $(LIBINN) 255 $(LINK) lib/vector-t.o tap/basic.o tap/string.o $(LIBINN) 256 257lib/wire.t: lib/wire-t.o tap/basic.o $(LIBINN) 258 $(LINK) lib/wire-t.o tap/basic.o $(LIBINN) 259 260lib/xmalloc: lib/xmalloc.o $(LIBINN) 261 $(LINK) lib/xmalloc.o $(LIBINN) 262 263lib/xwrite.o: ../lib/xwrite.c 264 $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/xwrite.c 265 266lib/xwrite.t: lib/xwrite-t.o lib/xwrite.o lib/fakewrite.o tap/basic.o $(LIBINN) 267 $(LINK) lib/xwrite-t.o lib/xwrite.o lib/fakewrite.o tap/basic.o \ 268 $(LIBINN) 269 270nnrpd/auth-ext.t: nnrpd/auth-ext-t.o ../nnrpd/auth-ext.o tap/basic.o tap/messages.o tap/string.o $(LIBINN) 271 $(LINK) nnrpd/auth-ext-t.o ../nnrpd/auth-ext.o tap/basic.o \ 272 tap/messages.o tap/string.o $(LIBINN) 273 274overview/api.t: overview/api-t.o tap/basic.o $(STORAGEDEPS) 275 $(LINKDEPS) overview/api-t.o tap/basic.o $(STORAGELIBS) $(LIBS) 276 277overview/buffindexed-t.o: overview/overview-t.c 278 $(CC) $(CFLAGS) -DOVTYPE=buffindexed -c -o $@ overview/overview-t.c 279 280overview/buffindexed.t: overview/buffindexed-t.o tap/basic.o $(STORAGEDEPS) 281 $(LINKDEPS) overview/buffindexed-t.o tap/basic.o $(STORAGELIBS) $(LIBS) 282 283overview/tradindexed-t.o: overview/overview-t.c 284 $(CC) $(CFLAGS) -DOVTYPE=tradindexed -c -o $@ overview/overview-t.c 285 286overview/tradindexed.t: overview/tradindexed-t.o tap/basic.o $(STORAGEDEPS) 287 $(LINKDEPS) overview/tradindexed-t.o tap/basic.o $(STORAGELIBS) $(LIBS) 288 289overview/xref.t: overview/xref-t.o tap/basic.o $(STORAGEDEPS) 290 $(LINKDEPS) overview/xref-t.o tap/basic.o $(STORAGELIBS) $(LIBS) 291 292util/innbind.t: util/innbind-t.o tap/basic.o $(LIBINN) 293 $(LINK) util/innbind-t.o tap/basic.o $(LIBINN) $(LIBS) 294