add separate Makefile for test

Sun, 11 Jun 2023 14:05:28 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 11 Jun 2023 14:05:28 +0200
changeset 69
ff56b28e2cdd
parent 68
4d1ce98e09cc
child 70
60cecca5e484

add separate Makefile for test

Makefile file | annotate | diff | comparison | revisions
clang.mk file | annotate | diff | comparison | revisions
gcc.mk file | annotate | diff | comparison | revisions
test/Makefile file | annotate | diff | comparison | revisions
--- a/Makefile	Mon Apr 24 21:02:00 2023 +0200
+++ b/Makefile	Sun Jun 11 14:05:28 2023 +0200
@@ -37,9 +37,9 @@
 
 OBJ = $(SRC:%.c=build/%$(OBJ_EXT))
 
-all: build build/$(BIN)
+all: build build/c2html
 	
-build/$(BIN): $(OBJ)
+build/c2html: $(OBJ)
 	$(LD) -o $@ $^ $(LDFLAGS)
 	
 build/%$(OBJ_EXT): src/%.c
@@ -49,19 +49,7 @@
 	$(MKDIR) $@
 	
 test: all
-	./build/$(BIN) test/ctest.c -o build/ctest.html \
-	-H test/header.html -F test/footer.html
-	./build/$(BIN) -j test/javatest.java -o build/javatest.html \
-	-H test/jheader.html -F test/footer.html
-	./build/$(BIN) test/bigtest.c -o build/bigtest.html \
-	-H test/header.html -F test/footer.html
-	./build/$(BIN) -p test/plain.txt -o build/plain.html \
-	-H test/header.html -F test/footer.html
-	diff build/ctest.html test/gs/ctest.html && \
-	diff build/javatest.html test/gs/javatest.html && \
-	diff build/bigtest.html test/gs/bigtest.html && \
-	diff build/plain.html test/gs/plain.html
-	@echo "Tests successful."
+	cd test && $(MAKE)
 	
 clean:
 	$(RM) $(RMFLAGS) build
--- a/clang.mk	Mon Apr 24 21:02:00 2023 +0200
+++ b/clang.mk	Sun Jun 11 14:05:28 2023 +0200
@@ -32,7 +32,6 @@
 RMFLAGS = -fR
 
 # build related
-BIN     = c2html
 CC      = clang
 CFLAGS  = -O2
 LD      = clang
--- a/gcc.mk	Mon Apr 24 21:02:00 2023 +0200
+++ b/gcc.mk	Sun Jun 11 14:05:28 2023 +0200
@@ -32,7 +32,6 @@
 RMFLAGS = -fR
 
 # build related
-BIN     = c2html
 CC      = gcc
 CFLAGS  = -O2 -std=gnu99
 LD      = gcc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/Makefile	Sun Jun 11 14:05:28 2023 +0200
@@ -0,0 +1,44 @@
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2016 Mike Becker. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+BUILDDIR=../build
+
+all:
+	$(BUILDDIR)/c2html ctest.c -o $(BUILDDIR)/ctest.html \
+	-H header.html -F footer.html
+	$(BUILDDIR)/c2html -j javatest.java -o $(BUILDDIR)/javatest.html \
+	-H jheader.html -F footer.html
+	$(BUILDDIR)/c2html bigtest.c -o $(BUILDDIR)/bigtest.html \
+	-H header.html -F footer.html
+	$(BUILDDIR)/c2html -p plain.txt -o $(BUILDDIR)/plain.html \
+	-H header.html -F footer.html
+	diff $(BUILDDIR)/ctest.html gs/ctest.html && \
+	diff $(BUILDDIR)/javatest.html gs/javatest.html && \
+	diff $(BUILDDIR)/bigtest.html gs/bigtest.html && \
+	diff $(BUILDDIR)/plain.html gs/plain.html
+	@echo "Tests successful."
\ No newline at end of file

mercurial