Forráskód Böngészése

test: improve makefile

Sam Jaffe 1 éve
szülő
commit
45457ba2de
1 módosított fájl, 18 hozzáadás és 3 törlés
  1. 18 3
      Makefile

+ 18 - 3
Makefile

@@ -1,5 +1,13 @@
+INTERACTIVE:=$(shell [ -t 0 ] && echo 1)
+
+ifdef INTERACTIVE
+CLEAN_ANSI=
+else
+CLEAN_ANSI=| sed -r 's/\x1B\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g'
+endif
+
 CXX := clang++
-CXX_FLAGS := -std=c++20 -isystem include/ -DJVALIDATE_USE_EXCEPTIONS
+CXX_FLAGS := -Wall -Wextra -Werror -std=c++20 -isystem include/ -DJVALIDATE_USE_EXCEPTIONS
 
 TEST_DIR := tests/
 INCLUDE_DIR := include/
@@ -9,8 +17,9 @@ HEADERS := $(shell find $(INCLUDE_DIR) -name *.h)
 TEST_HEADERS := $(wildcard $(TEST_DIR)*.h)
 TEST_SOURCES := $(wildcard $(TEST_DIR)*.cxx)
 TEST_OBJECTS := $(patsubst %.cxx, .build/%.o, $(TEST_SOURCES))
+TEST_BINARIES := .build/bin/selfvalidate
 
-all: .build/bin/selfvalidate
+all: run-test
 
 debug: CXX_FLAGS := $(CXX_FLAGS) -g
 debug: all
@@ -18,11 +27,17 @@ debug: all
 clean:
 	@ rm -rf .build
 
+test: $(TEST_BINARIES)
+
+run-test: test
+run-test:
+	.build/bin/selfvalidate $(CLEAN_ANSI)
+
 .build/tests/%.o: tests/%.cxx $(HEADERS) $(TEST_HEADERS)
 	@ mkdir -p .build/tests
 	$(CXX) $(CXX_FLAGS) -c $< -o $@
 
 
 .build/bin/selfvalidate: .build/tests/selfvalidate_test.o
-	@ mkdir -p .build/bin/tests
+	@ mkdir -p .build/bin
 	$(CXX) $< -o $@ -L/opt/local/lib -ljsoncpp -lgmock -lgtest