aboutsummaryrefslogtreecommitdiff
path: root/tests/pp/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pp/Makefile')
-rw-r--r--tests/pp/Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/pp/Makefile b/tests/pp/Makefile
new file mode 100644
index 0000000..c656f9a
--- /dev/null
+++ b/tests/pp/Makefile
@@ -0,0 +1,35 @@
+#
+# credits: 01..13.c from the pcc cpp-tests suite
+#
+
+TCC = ../../tcc
+TESTS = $(patsubst %.c,%.test,$(wildcard *.c))
+
+all test : $(TESTS)
+
+%.test: %.c %.expect
+ @echo PPTest $* ...
+ @$(TCC) -E -P $< >$*.output 2>&1 ; \
+ diff -Nu -b -B -I "^#" $(EXTRA_DIFF_OPTS) $*.expect $*.output \
+ && rm -f $*.output
+
+# automatically generate .expect files with gcc:
+%.expect :
+ gcc -E -P $*.c >$*.expect 2>&1
+
+# tell make not to delete
+.PRECIOUS: %.expect
+
+clean:
+ rm -vf *.output
+
+# 02.test : EXTRA_DIFF_OPTS = -w
+# 03.test : EXTRA_DIFF_OPTS = -w
+# 04.test : EXTRA_DIFF_OPTS = -w
+# 10.test : EXTRA_DIFF_OPTS = -w
+
+# diff options:
+# -b ighore space changes
+# -w ighore all whitespace
+# -B ignore blank lines
+# -I <RE> ignore lines matching RE