| srcdir = @srcdir@ |
| VPATH = @srcdir@ |
| |
| # PROGRAMS includes all test programs built on this platform. |
| # STDTEST_PORTABLE |
| # test programs invoked via standard user interface, run on all platforms |
| # TESTS |
| # test modules invoked through the abts suite (./testall) |
| # STDTEST_NONPORTABLE |
| # test programs invoked via standard user interface, not portable |
| # OTHER_PROGRAMS |
| # programs such as sendfile, that have to be invoked in a special sequence |
| # or with special parameters |
| # TESTALL_COMPONENTS |
| # programs such as globalmutexchild which the various TESTS will invoke |
| # to validate process creation, pipes, dso mechansims and so forth |
| |
| STDTEST_PORTABLE = \ |
| testlockperf@EXEEXT@ \ |
| testmutexscope@EXEEXT@ \ |
| testall@EXEEXT@ |
| |
| TESTS = testtime.lo teststr.lo testvsn.lo testipsub.lo \ |
| testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \ |
| testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \ |
| testdso.lo testoc.lo testdup.lo testsockets.lo testproc.lo \ |
| testpoll.lo testlock.lo testsockopt.lo testpipe.lo testthread.lo \ |
| testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \ |
| testenv.lo testprocmutex.lo testrand2.lo testfnmatch.lo \ |
| testatomic.lo testflock.lo testshm.lo testsock.lo testglobalmutex.lo \ |
| teststrnatcmp.lo testfilecopy.lo testtemp.lo testlfs.lo |
| |
| OTHER_PROGRAMS = \ |
| sendfile@EXEEXT@ |
| |
| TESTALL_COMPONENTS = \ |
| globalmutexchild@EXEEXT@ \ |
| libmod_test.la \ |
| mod_test.la \ |
| occhild@EXEEXT@ \ |
| proc_child@EXEEXT@ \ |
| readchild@EXEEXT@ \ |
| sockchild@EXEEXT@ \ |
| testshmproducer@EXEEXT@ \ |
| testshmconsumer@EXEEXT@ \ |
| tryread@EXEEXT@ |
| |
| PROGRAMS = $(TESTALL_COMPONENTS) $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) \ |
| $(OTHER_PROGRAMS) |
| |
| TARGETS = $(PROGRAMS) |
| |
| # bring in rules.mk for standard functionality |
| @INCLUDE_RULES@ |
| |
| LOCAL_LIBS=../lib@APR_LIBNAME@.la |
| |
| CLEAN_TARGETS = testfile.tmp lfstests/large.bin \ |
| data/test*.txt data/test*.dat |
| |
| CLEAN_SUBDIRS = internal |
| |
| INCDIR=../include |
| INCLUDES=-I$(INCDIR) -I$(srcdir)/../include |
| |
| # link programs using -no-install to get real executables not |
| # libtool wrapper scripts which link an executable when first run. |
| LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) \ |
| @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@ |
| |
| # STDTEST_PORTABLE; |
| |
| abts.lo: $(srcdir)/abts.c $(srcdir)/abts.h $(srcdir)/abts_tests.h \ |
| $(srcdir)/testutil.h |
| |
| testutil.lo: $(srcdir)/abts.c $(srcdir)/abts.h $(srcdir)/abts_tests.h \ |
| $(srcdir)/testutil.h |
| |
| OBJECTS_testall = abts.lo testutil.lo $(TESTS) $(LOCAL_LIBS) |
| testall@EXEEXT@: $(OBJECTS_testall) |
| $(LINK_PROG) $(OBJECTS_testall) $(ALL_LIBS) |
| # For VPATH builds; where we have no ./data, copy us some data |
| # if we wait until 'make check', then 'make; ./testall' fails; |
| if test ! -d "./data"; then cp -r $(srcdir)/data data; fi |
| |
| OBJECTS_testlockperf = testlockperf.lo $(LOCAL_LIBS) |
| testlockperf@EXEEXT@: $(OBJECTS_testlockperf) |
| $(LINK_PROG) $(OBJECTS_testlockperf) $(ALL_LIBS) |
| |
| OBJECTS_testmutexscope = testmutexscope.lo $(LOCAL_LIBS) |
| testmutexscope@EXEEXT@: $(OBJECTS_testmutexscope) |
| $(LINK_PROG) $(OBJECTS_testmutexscope) $(ALL_LIBS) |
| |
| # OTHER_PROGRAMS; |
| |
| OBJECTS_sendfile = sendfile.lo $(LOCAL_LIBS) |
| sendfile@EXEEXT@: $(OBJECTS_sendfile) |
| $(LINK_PROG) $(OBJECTS_sendfile) $(ALL_LIBS) |
| |
| # TESTALL_COMPONENTS; |
| |
| OBJECTS_globalmutexchild = globalmutexchild.lo $(LOCAL_LIBS) |
| globalmutexchild@EXEEXT@: $(OBJECTS_globalmutexchild) |
| $(LINK_PROG) $(OBJECTS_globalmutexchild) $(ALL_LIBS) |
| |
| # Note: -prefer-pic is only supported with libtool-1.4+ |
| mod_test.lo: $(srcdir)/mod_test.c |
| $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -prefer-pic -o $@ \ |
| -c $(srcdir)/mod_test.c |
| |
| OBJECTS_mod_test = mod_test.lo |
| mod_test.la: $(OBJECTS_mod_test) |
| $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -rpath `pwd` -module \ |
| -avoid-version $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ \ |
| $(OBJECTS_mod_test) |
| |
| OBJECTS_libmod_test = mod_test.lo $(LOCAL_LIBS) |
| libmod_test.la: $(OBJECTS_libmod_test) |
| $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -rpath `pwd` \ |
| -avoid-version $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ \ |
| $(OBJECTS_libmod_test) $(ALL_LIBS) |
| |
| OBJECTS_occhild = occhild.lo $(LOCAL_LIBS) |
| occhild@EXEEXT@: $(OBJECTS_occhild) |
| $(LINK_PROG) $(OBJECTS_occhild) $(ALL_LIBS) |
| |
| OBJECTS_proc_child = proc_child.lo $(LOCAL_LIBS) |
| proc_child@EXEEXT@: $(OBJECTS_proc_child) |
| $(LINK_PROG) $(OBJECTS_proc_child) $(ALL_LIBS) |
| |
| OBJECTS_readchild = readchild.lo $(LOCAL_LIBS) |
| readchild@EXEEXT@: $(OBJECTS_readchild) |
| $(LINK_PROG) $(OBJECTS_readchild) $(ALL_LIBS) |
| |
| OBJECTS_sockchild = sockchild.lo $(LOCAL_LIBS) |
| sockchild@EXEEXT@: $(OBJECTS_sockchild) |
| $(LINK_PROG) $(OBJECTS_sockchild) $(ALL_LIBS) |
| |
| OBJECTS_testshmconsumer = testshmconsumer.lo $(LOCAL_LIBS) |
| testshmconsumer@EXEEXT@: $(OBJECTS_testshmconsumer) $(LOCAL_LIBS) |
| $(LINK_PROG) $(OBJECTS_testshmconsumer) $(ALL_LIBS) |
| |
| OBJECTS_testshmproducer = testshmproducer.lo $(LOCAL_LIBS) |
| testshmproducer@EXEEXT@: $(OBJECTS_testshmproducer) |
| $(LINK_PROG) $(OBJECTS_testshmproducer) $(ALL_LIBS) |
| |
| OBJECTS_tryread = tryread.lo $(LOCAL_LIBS) |
| tryread@EXEEXT@: $(OBJECTS_tryread) |
| $(LINK_PROG) $(OBJECTS_tryread) $(ALL_LIBS) |
| |
| check: $(TESTALL_COMPONENTS) $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) |
| for prog in $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE); do \ |
| ./$$prog; \ |
| if test $$? = 255; then \ |
| echo "$$prog failed"; \ |
| break; \ |
| fi; \ |
| done |
| |
| # DO NOT REMOVE |