CFLAGS ?= -Wall -g GDBRUN = gdb --batch --ex run --ex bt --ex q --args BUILD_TARGETS = ex1 ex3 ex7 ex8 ex9 ex10 ex11 ex12 TEST_TARGETS = ex1 ex3 ex7 ex8 ex9 ex11 ex12 .PHONY: all all: build test .PHONY: clean clean: rm -f $(BUILD_TARGETS) .PHONY: build build: $(BUILD_TARGETS) .PHONY: gtest gtest: @$(foreach bt, $(TEST_TARGETS), make .gtest.$(bt) &&) \ printf '\ngYAY\n' .gtest.%: printf '\n==> %s\n' "$*" && $(GDBRUN) ./$* .PHONY: test test: @$(foreach bt, $(TEST_TARGETS), make .test.$(bt) &&) \ printf '\nYAY\n' .test.%: printf '\n==> %s\n' "$*" && ./$*