TEST_SRC=$(wildcard *_test.cpp) TEST_EXE=$(TEST_SRC:.cpp=) TEST_RUN=$(TEST_SRC:.cpp=.run) CC=g++ -std=c++11 run: $(TEST_RUN) %_test.run: %_test @echo Testing $<... @./$< @echo OK %_test: %_test.cpp %.cpp @echo Compiling $@... @$(CC) -o $@ $< DiscreteLog_test: DiscreteLog_test.cpp DiscreteLog.cpp Euclid.cpp @echo Compiling $@... @$(CC) -o $@ $< clean: rm -f $(TEST_EXE) .PHONY: run clean .SECONDARY: $(TEST_EXE)