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