1/* 2 * testlib library test harness operator 3 * 4 * unit :TESTLIB: library [ testhdr*.h ] [ -ltestlib* ] test*.c 5 * 6 * *.[ch] assumed to be in ./unit 7 */ 8 9.TEST.DEBUG.SYMBOLS : .MAKE .VIRTUAL .FORCE .REPEAT 10 set --debug-symbols 11 CCFLAGS += $(CC.DEBUG) 12 CC.LIB.TYPE = -g 13 14":TESTLIB:" : .MAKE .OPERATOR 15 eval 16 .SOURCE : $$(<) 17 .SOURCE.h : ../../lib/libast/$$(<) ../../lib/libast 18 $(<) :TEST: testlib $(>:O>1:C,.*\.[ch]$,$(<)/&,) 19 set +x; $$(*:O=1) $$(TESTLIBFLAGS) $(>:O=1) $(<) $$(*:O>1) $$(CC) $$(CCFLAGS) $$(LDFLAGS) $$(TESTLIBCCFLAGS) 20 test.$$(>:N=*.h:O=1:B:/\(..\).*/\1/:-$(<:B:/\(..\).*/\1/)) : .TEST.DEBUG.SYMBOLS testlib $$(>:V:O>1:N!=*.c) $$$(*.ARGS:D=$(<):B:S=.c) .CLEARARGS 21 set +x; $$(*:O=1) $$(TESTLIBFLAGS) --verbose $(>:O=1) $(<) $$(*:O>1) $$(CC) $$(CCFLAGS) $$(LDFLAGS) $$(TESTLIBCCFLAGS) 22 end 23