Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/cmd/tests/TESTLIB.mk
1808 views
/*
 * testlib library test harness operator
 *
 *	unit :TESTLIB: library [ testhdr*.h ] [ -ltestlib* ] test*.c
 *
 * *.[ch] assumed to be in ./unit
 */

.TEST.DEBUG.SYMBOLS : .MAKE .VIRTUAL .FORCE .REPEAT
	set --debug-symbols
	CCFLAGS += $(CC.DEBUG)
	CC.LIB.TYPE = -g

":TESTLIB:" : .MAKE .OPERATOR
	eval
	.SOURCE : $$(<)
	.SOURCE.h : ../../lib/libast/$$(<) ../../lib/libast
	$(<) :TEST: testlib $(>:O>1:C,.*\.[ch]$,$(<)/&,)
		set +x; $$(*:O=1) $$(TESTLIBFLAGS) $(>:O=1) $(<) $$(*:O>1) $$(CC) $$(CCFLAGS) $$(LDFLAGS) $$(TESTLIBCCFLAGS)
	test.$$(>:N=*.h:O=1:B:/\(..\).*/\1/:-$(<:B:/\(..\).*/\1/)) : .TEST.DEBUG.SYMBOLS testlib $$(>:V:O>1:N!=*.c) $$$(*.ARGS:D=$(<):B:S=.c) .CLEARARGS
		set +x; $$(*:O=1) $$(TESTLIBFLAGS) --verbose $(>:O=1) $(<) $$(*:O>1) $$(CC) $$(CCFLAGS) $$(LDFLAGS) $$(TESTLIBCCFLAGS)
	end