Makefile revision 64562
159612Sjasone# 250476Speter# $FreeBSD: head/lib/libkse/test/Makefile 59667 2000-04-26 23:25:58Z jasone $ 338540Sjb# 459612Sjasone# Automated test suite for libc_r (pthreads). 538540Sjb# 638540Sjb 759612Sjasone# File lists. 838540Sjb 959612Sjasone# Diff mode tests written in C. 1059612SjasoneCDTESTS := hello_d.c mutex_d.c sem_d.c sigsuspend_d.c sigwait_d.c 1159612Sjasone 1259612Sjasone# Sequence mode tests written in C. 1359612SjasoneCSTESTS := hello_s.c 1459612Sjasone 1559612Sjasone# C programs that are used internally by the perl-based tests. The build 1659612Sjasone# system merely compiles these. 1759612SjasoneBTESTS := hello_b.c 1859612Sjasone 1959612Sjasone# Diff mode tests written in perl. 2059612SjasonePDTESTS := 2159612Sjasone 2259612Sjasone# Sequence mode tests written in perl. 2359667SjasonePSTESTS := propagate_s.pl 2459612Sjasone 2559612Sjasone# Munge the file lists to their final executable names (strip the .c). 2659612SjasoneCDTESTS := $(CDTESTS:R) 2759612SjasoneCSTESTS := $(CSTESTS:R) 2859612SjasoneBTESTS := $(BTESTS:R) 2959612Sjasone 3059612SjasoneCPPFLAGS := -D_LIBC_R_ 3159612SjasoneCFLAGS := -Wall -pipe -g3 3259612SjasoneLDFLAGS_A := -static 3359612SjasoneLDFLAGS_P := -pg 3459612SjasoneLDFLAGS_S := 3559612SjasoneLIBS := -pthread 3659612Sjasone 3759612Sjasone# Flags passed to verify. "-v" or "-u" may be useful. 3859612SjasoneVFLAGS := 3959612Sjasone 4059612Sjasoneall : default 4159612Sjasone 4259612Sjasone# Only use the following suffixes, in order to avoid any strange built-in rules. 4359612Sjasone.SUFFIXES : 4459612Sjasone.SUFFIXES : .c .o .d .pl 4559612Sjasone 4659612Sjasone# Clear out all paths, then set just one (default path) for the main build 4759612Sjasone# directory. 4859612Sjasone.PATH : 4959612Sjasone.PATH : . 5059612Sjasone 5159612Sjasone# Build the C programs. 5259612Sjasone.for bin in $(CDTESTS) $(CSTESTS) $(BTESTS) 5359612Sjasone$(bin)_a : $(bin:S/$/&.c/) 5459612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 5559612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_A) $(LIBS) 5659612Sjasone @$(SHELL) -ec "$(CC) -M $(CPPFLAGS) $(bin:S/$/&.c/) | sed \"s/\($(bin:T)\)\.o\([ :]*\)/$(bin:H:S!/!\\/!g)\/\1_a.o \2/g\" > $(@:R:S/$/&.d/)" 5759612Sjasone 5859612Sjasone$(bin)_p : $(bin:S/$/&.c/) 5959612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 6059612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_P) $(LIBS) 6159612Sjasone @$(SHELL) -ec "$(CC) -M $(CPPFLAGS) $(bin:S/$/&.c/) | sed \"s/\($(bin:T)\)\.o\([ :]*\)/$(bin:H:S!/!\\/!g)\/\1_p.o \2/g\" > $(@:R:S/$/&.d/)" 6259612Sjasone 6359612Sjasone$(bin)_s : $(bin:S/$/&.c/) 6459612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 6559612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_S) $(LIBS) 6659612Sjasone @$(SHELL) -ec "$(CC) -M $(CPPFLAGS) $(bin:S/$/&.c/) | sed \"s/\($(bin:T)\)\.o\([ :]*\)/$(bin:H:S!/!\\/!g)\/\1_s.o \2/g\" > $(@:R:S/$/&.d/)" 6759612Sjasone.endfor 6859612Sjasone 6959612Sjasone# Dependency file inclusion. 7059612Sjasone.for depfile in $(CDTESTS:R:S/$/&_a.d/) $(CSTESTS:R:S/$/&_a.d/) \ 7159612Sjasone $(BTESTS:R:S/$/&_a.d/) $(CDTESTS:R:S/$/&_p.d/) \ 7259612Sjasone $(CSTESTS:R:S/$/&_p.d/) $(BTESTS:R:S/$/&_p.d/) \ 7359612Sjasone $(CDTESTS:R:S/$/&_s.d/) $(CSTESTS:R:S/$/&_s.d/) \ 7459612Sjasone $(BTESTS:R:S/$/&_s.d/) 7559612Sjasone.if exists($(depfile)) 7659612Sjasone.include "$(depfile)" 7759612Sjasone.endif 7859612Sjasone.endfor 7959612Sjasone 8059612Sjasonedefault : check 8159612Sjasone 8259612Sjasonetests_a : $(CDTESTS:S/$/&_a/) $(CSTESTS:S/$/&_a/) $(BTESTS:S/$/&_a/) 8359612Sjasonetests_p : $(CDTESTS:S/$/&_p/) $(CSTESTS:S/$/&_p/) $(BTESTS:S/$/&_p/) 8459612Sjasonetests_s : $(CDTESTS:S/$/&_s/) $(CSTESTS:S/$/&_s/) $(BTESTS:S/$/&_s/) 8559612Sjasone 8659612Sjasonetests : tests_a tests_p tests_s 8759612Sjasone 8859612Sjasonecheck_a : tests_a 8959612Sjasone.for bin in $(CDTESTS) $(CSTESTS) $(BTESTS) 9059612Sjasone @cp $(bin)_a $(bin) 9159612Sjasone.endfor 9259612Sjasone @echo "Test static library:" 9359612Sjasone @./verify $(VFLAGS) -- -d $(CDTESTS) $(PDTESTS) -s $(CSTESTS) $(PSTESTS) 9459612Sjasone 9559612Sjasonecheck_p : tests_p 9659612Sjasone.for bin in $(CDTESTS) $(CSTESTS) $(BTESTS) 9759612Sjasone @cp $(bin)_p $(bin) 9859612Sjasone.endfor 9959612Sjasone @echo "Test profile library:" 10059612Sjasone @./verify $(VFLAGS) -- -d $(CDTESTS) $(PDTESTS) -s $(CSTESTS) $(PSTESTS) 10159612Sjasone 10259612Sjasonecheck_s : tests_s 10359612Sjasone.for bin in $(CDTESTS) $(CSTESTS) $(BTESTS) 10459612Sjasone @cp $(bin)_s $(bin) 10559612Sjasone.endfor 10659612Sjasone @echo "Test shared library:" 10759612Sjasone @./verify $(VFLAGS) -- -d $(CDTESTS) $(PDTESTS) -s $(CSTESTS) $(PSTESTS) 10859612Sjasone 10959612Sjasonecheck : check_a check_p check_s 11059612Sjasone 11159612Sjasoneclean : 11259612Sjasone rm -f *~ 11359612Sjasone rm -f *.core 11459612Sjasone rm -f *.out 11559612Sjasone rm -f *.perf 11659612Sjasone rm -f *.diff 11759612Sjasone rm -f *.gmon 11859612Sjasone rm -f $(CDTESTS) $(CSTESTS) $(BTESTS) 11959612Sjasone rm -f $(CDTESTS:S/$/&_a/) $(CSTESTS:S/$/&_a/) $(BTESTS:S/$/&_a/) 12059612Sjasone rm -f $(CDTESTS:S/$/&_p/) $(CSTESTS:S/$/&_p/) $(BTESTS:S/$/&_p/) 12159612Sjasone rm -f $(CDTESTS:S/$/&_s/) $(CSTESTS:S/$/&_s/) $(BTESTS:S/$/&_s/) 12259612Sjasone rm -f *.d 12359612Sjasone rm -f *.o 124