diff --git a/quiz/Makefile b/quiz/Makefile index a4974c936..57984d4c1 100644 --- a/quiz/Makefile +++ b/quiz/Makefile @@ -1,18 +1,23 @@ SFLAGS += -Iquiz/include QUIZ_USE_CONSOLE ?= 0 -quiz/src/runner.o: SFLAGS += -DQUIZ_USE_CONSOLE=$(QUIZ_USE_CONSOLE) +$(call object_for,quiz/src/runner.cpp): SFLAGS += -DQUIZ_USE_CONSOLE=$(QUIZ_USE_CONSOLE) -symbols_file = $(addprefix quiz/src/, symbols.c) -products += $(symbols_file) +symbols_file = $(BUILD_DIR)/quiz/src/symbols.c $(symbols_file): $(tests) @echo "AWK $@" $(Q) awk -f quiz/src/symbols.awk $(tests) > $@ -runner_objs += $(addprefix quiz/src/, runner.o assertions.o symbols.o i18n.o) -test_objs += $(subst .c,.o, $(subst .cpp,.o,$(tests))) +runner_src += $(addprefix quiz/src/, \ + assertions.cpp \ + i18n.cpp \ + runner.cpp \ +) -test.$(EXE): $(runner_objs) $(test_objs) +runner_src += $(symbols_file) -products += test.$(EXE) $(runner_objs) $(test_objs) +runner_objs = $(call object_for,$(runner_src)) +$(runner_objs): SFLAGS += -Iquiz/src + +test.$(EXE): $(runner_objs) $(call object_for,$(tests))