modernc.org/ccgo/v3@v3.16.14/lib/testdata/tcc-0.9.27/tests/pp/Makefile (about) 1 # 2 # credits: 01..13.c from the pcc cpp-tests suite 3 # 4 5 TOP = ../.. 6 include $(TOP)/Makefile 7 SRC = $(TOPSRC)/tests/pp 8 VPATH = $(SRC) 9 10 files = $(patsubst %.$1,%.test,$(notdir $(wildcard $(SRC)/*.$1))) 11 TESTS = $(call files,c) $(call files,S) 12 13 all test : $(sort $(TESTS)) 14 15 DIFF_OPTS = -Nu -b -B 16 17 # Filter source directory in warnings/errors (out-of-tree builds) 18 FILTER = 2>&1 | sed 's,$(SRC)/,,g' 19 20 %.test: %.c %.expect 21 @echo PPTest $* ... 22 -@$(TCC) -E -P $< $(FILTER) >$*.output 2>&1 ; \ 23 diff $(DIFF_OPTS) $(SRC)/$*.expect $*.output \ 24 && rm -f $*.output 25 26 %.test: %.S %.expect 27 @echo PPTest $* ... 28 -@$(TCC) -E -P $< $(FILTER) >$*.output 2>&1 ; \ 29 diff $(DIFF_OPTS) $(SRC)/$*.expect $*.output \ 30 && rm -f $*.output 31 32 # automatically generate .expect files with gcc: 33 %.expect: # %.c 34 gcc -E -P $*.[cS] >$*.expect 2>&1 35 36 # tell make not to delete 37 .PRECIOUS: %.expect 38 39 clean: 40 rm -f *.output 41 42 02.test : DIFF_OPTS += -w 43 # 15.test : DIFF_OPTS += -I"^XXX:" 44 45 # diff options: 46 # -b ighore space changes 47 # -w ighore all whitespace 48 # -B ignore blank lines 49 # -I <RE> ignore lines matching RE