159612Sjasone# 250476Speter# $FreeBSD: releng/10.3/lib/libkse/test/Makefile 125468 2004-02-05 02:55:20Z davidxu $ 338540Sjb# 4103412Smini# Automated test suite for libpthread (pthreads). 538540Sjb# 638540Sjb 759612Sjasone# File lists. 838540Sjb 976912Sjasone# Tests written in C. 1076912SjasoneCTESTS := hello_d.c hello_s.c join_leak_d.c mutex_d.c sem_d.c sigsuspend_d.c \ 1176912Sjasone sigwait_d.c 1259612Sjasone 1376912Sjasone# C programs that are used internally by the tests. The build system merely 1476912Sjasone# compiles these. 1580021SjasoneBTESTS := guard_b.c hello_b.c 1659612Sjasone 1776912Sjasone# Tests written in perl. 1880021SjasonePTESTS := guard_s.pl propagate_s.pl 1959612Sjasone 2059612Sjasone# Munge the file lists to their final executable names (strip the .c). 2176912SjasoneCTESTS := $(CTESTS:R) 2259612SjasoneBTESTS := $(BTESTS:R) 2359612Sjasone 2476912SjasoneCPPFLAGS := -D_LIBC_R_ -D_REENTRANT 2559612SjasoneCFLAGS := -Wall -pipe -g3 2659612SjasoneLDFLAGS_A := -static 2759612SjasoneLDFLAGS_P := -pg 2859612SjasoneLDFLAGS_S := 29125468SdavidxuLIBS := -lpthread 3059612Sjasone 3159612Sjasone# Flags passed to verify. "-v" or "-u" may be useful. 32118854SmarcelVERIFY = perl verify 3359612SjasoneVFLAGS := 3459612Sjasone 3559612Sjasoneall : default 3659612Sjasone 3759612Sjasone# Only use the following suffixes, in order to avoid any strange built-in rules. 3859612Sjasone.SUFFIXES : 3959612Sjasone.SUFFIXES : .c .o .d .pl 4059612Sjasone 4159612Sjasone# Clear out all paths, then set just one (default path) for the main build 4259612Sjasone# directory. 4359612Sjasone.PATH : 4459612Sjasone.PATH : . 4559612Sjasone 4659612Sjasone# Build the C programs. 4776912Sjasone.for bin in $(CTESTS) $(BTESTS) 4859612Sjasone$(bin)_a : $(bin:S/$/&.c/) 4959612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 5059612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_A) $(LIBS) 5159612Sjasone @$(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/)" 5259612Sjasone 5359612Sjasone$(bin)_p : $(bin:S/$/&.c/) 5459612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 5559612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_P) $(LIBS) 5659612Sjasone @$(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/)" 5759612Sjasone 5859612Sjasone$(bin)_s : $(bin:S/$/&.c/) 5959612Sjasone $(CC) $(CFLAGS) $(CPPFLAGS) -c $(bin:S/$/&.c/) -o $(@:S/$/&.o/) 6059612Sjasone $(CC) -o $@ $(@:S/$/&.o/) $(LDFLAGS_S) $(LIBS) 6159612Sjasone @$(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/)" 6259612Sjasone.endfor 6359612Sjasone 6459612Sjasone# Dependency file inclusion. 6576912Sjasone.for depfile in $(CTESTS:R:S/$/&_a.d/) $(BTESTS:R:S/$/&_a.d/) \ 6676912Sjasone $(CTESTS:R:S/$/&_p.d/) $(BTESTS:R:S/$/&_p.d/) \ 6776912Sjasone $(CTESTS:R:S/$/&_s.d/) $(BTESTS:R:S/$/&_s.d/) 6859612Sjasone.if exists($(depfile)) 6959612Sjasone.include "$(depfile)" 7059612Sjasone.endif 7159612Sjasone.endfor 7259612Sjasone 7359612Sjasonedefault : check 7459612Sjasone 7576912Sjasonetests_a : $(CTESTS:S/$/&_a/) $(BTESTS:S/$/&_a/) 7676912Sjasonetests_p : $(CTESTS:S/$/&_p/) $(BTESTS:S/$/&_p/) 7776912Sjasonetests_s : $(CTESTS:S/$/&_s/) $(BTESTS:S/$/&_s/) 7859612Sjasone 7959612Sjasonetests : tests_a tests_p tests_s 8059612Sjasone 8159612Sjasonecheck_a : tests_a 8276912Sjasone.for bin in $(CTESTS) $(BTESTS) 8359612Sjasone @cp $(bin)_a $(bin) 8459612Sjasone.endfor 8559612Sjasone @echo "Test static library:" 86118854Smarcel @$(VERIFY) $(VFLAGS) $(CTESTS) $(PTESTS) 8759612Sjasone 8859612Sjasonecheck_p : tests_p 8976912Sjasone.for bin in $(CTESTS) $(BTESTS) 9059612Sjasone @cp $(bin)_p $(bin) 9159612Sjasone.endfor 9259612Sjasone @echo "Test profile library:" 93118854Smarcel @$(VERIFY) $(VFLAGS) $(CTESTS) $(PTESTS) 9459612Sjasone 9559612Sjasonecheck_s : tests_s 9676912Sjasone.for bin in $(CTESTS) $(BTESTS) 9759612Sjasone @cp $(bin)_s $(bin) 9859612Sjasone.endfor 9959612Sjasone @echo "Test shared library:" 100118854Smarcel @$(VERIFY) $(VFLAGS) $(CTESTS) $(PTESTS) 10159612Sjasone 10259612Sjasonecheck : check_a check_p check_s 10359612Sjasone 10459612Sjasoneclean : 10559612Sjasone rm -f *~ 10659612Sjasone rm -f *.core 10759612Sjasone rm -f *.out 10859612Sjasone rm -f *.perf 10959612Sjasone rm -f *.diff 11059612Sjasone rm -f *.gmon 11176912Sjasone rm -f $(CTESTS) $(BTESTS) 11276912Sjasone rm -f $(CTESTS:S/$/&_a/) $(BTESTS:S/$/&_a/) 11376912Sjasone rm -f $(CTESTS:S/$/&_p/) $(BTESTS:S/$/&_p/) 11476912Sjasone rm -f $(CTESTS:S/$/&_s/) $(BTESTS:S/$/&_s/) 11559612Sjasone rm -f *.d 11659612Sjasone rm -f *.o 117