X-Git-Url: https://mattmccutchen.net/bigint/bigint.git/blobdiff_plain/0afe80d551aa9b66b574b956cf681692399fc728..cb2f0c288d4b7acfa37d7a9c8bc1024c3f332b5f:/Makefile diff --git a/Makefile b/Makefile index 68e7a00..3018e98 100644 --- a/Makefile +++ b/Makefile @@ -27,23 +27,21 @@ library: $(library-objects) # Conservatively assume that all the objects depend on all the headers. $(library-objects): $(library-headers) -# TESTSUITE +# TESTSUITE (NOTE: Currently expects a 32-bit system) # Compiling the testsuite. testsuite.o: $(library-headers) testsuite: testsuite.o $(library-objects) g++ $^ -o $@ # Extract the expected output from the testsuite source. testsuite.expected: testsuite.cc - sed -nre 's,^.*//,,p' $< >$@ + nl -ba -p -s: $< | sed -nre 's,^ +([0-9]+):.*//([^ ]),Line \1: \2,p' >$@ # Run the testsuite. .PHONY: test test: testsuite testsuite.expected - ./testsuite >testsuite.out - @if diff -u testsuite.expected testsuite.out; then\ - echo 'All tests passed.';\ - else\ - echo >&2 'At least one test failed!'; exit 1;\ - fi + ./run-testsuite +testsuite-cleanfiles = \ + testsuite.o testsuite testsuite.expected \ + testsuite.out testsuite.err # The rules below build a program that uses the library. They are preset to # build ``sample'' from ``sample.cc''. You can change the name(s) of the @@ -64,7 +62,7 @@ $(program) : $(program-objects) $(library-objects) # Delete all generated files we know about. clean : - rm -f $(library-objects) $(program-objects) $(program) + rm -f $(library-objects) $(testsuite-cleanfiles) $(program-objects) $(program) # I removed the *.tag dependency tracking system because it had few advantages # over manually entering all the dependencies. If there were a portable,