summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile38
1 files changed, 36 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 0338a34..2e05265 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,39 @@
-all:
+TESTS = \
+ datastructures/test/fenwickTree.test \
+ datastructures/test/fenwickTree2.test \
+ graph/test/binary_lifting.test \
+ graph/test/LCA_sparse.test
+
+pdf:
latexmk -pdf tcr
-clean:
+
+all: pdf test
+
+test: $(TESTS:.test=.ok)
+
+clean: cleanpdf cleantest
+
+cleanpdf:
latexmk -c tcr
rm -f *.thm
+
+cleantest:
+ rm -f $(TESTS) $(TESTS:.test=.ok)
+
+%.ok: %.test
+ timeout -v 1 ./$<
+ @touch $@
+%.test: %.cpp test.h
+ g++ -include test.h -std=gnu++20 -Wall -Wextra -Wpedantic -Werror \
+ -fsanitize=address,undefined -g -o $@ $<
+
+datastructures/test/fenwickTree.test: datastructures/test/fenwickTree.cpp \
+ datastructures/fenwickTree.cpp
+datastructures/test/fenwickTree2.test: datastructures/test/fenwickTree2.cpp \
+ datastructures/fenwickTree2.cpp
+graph/test/binary_lifting.test: graph/test/binary_lifting.cpp \
+ graph/binary_lifting.cpp graph/test/util.cpp
+graph/test/LCA_sparse.test: graph/test/LCA_sparse.cpp \
+ graph/LCA_sparse.cpp datastructures/sparseTable.cpp graph/test/util.cpp
+
+.PHONY: all pdf test clean cleanpdf cleantest