From 82d38144de094e06d7b2ddda541e9ff6b2d82ada Mon Sep 17 00:00:00 2001 From: Ajay Brahmakshatriya Date: Mon, 27 Apr 2026 15:11:00 -0400 Subject: [PATCH] Added lib target to make and separate named targets for samples --- make/buildit_rules.mk | 10 ++++++++-- make/dirs.mk | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/make/buildit_rules.mk b/make/buildit_rules.mk index 9e71bf6..1665f93 100644 --- a/make/buildit_rules.mk +++ b/make/buildit_rules.mk @@ -1,6 +1,6 @@ # Actual rules for building the library and the executables -.SECONDARY: $(BUILD_DIR)/%.o -.SECONDARY: $(BUILD_DIR)/samples/%.o +.PRECIOUS: $(BUILD_DIR)/%.o +.PRECIOUS: $(BUILD_DIR)/samples/%.o $(BUILD_DIR)/gen_headers/gen/compiler_headers.h: @mkdir -p $(@D) @@ -27,9 +27,15 @@ $(BUILD_DIR)/sample%: $(BUILD_DIR)/samples/sample%.o $(LIBRARY) $(DEPS_LIST) @mkdir -p $(@D) $(CXXLDV) -o $@ $< $(LINKER_FLAGS) + +# Extra rules to simply compile the samples by name +$(SAMPLE_NAMES): sample%: $(BUILD_DIR)/sample% + .PHONY: executables executables: $(SAMPLES) +.PHONY: lib +lib: $(LIBRARY) -include $(LIBRARY_OBJS:.o=.d) -include $(SAMPLE_OBJS:.o=.d) diff --git a/make/dirs.mk b/make/dirs.mk index d90641b..b263488 100644 --- a/make/dirs.mk +++ b/make/dirs.mk @@ -8,6 +8,7 @@ SAMPLES_DIR=$(BASE_DIR)/samples DEPS_DIR=$(BASE_DIR)/deps SAMPLES_SRCS=$(wildcard $(SAMPLES_DIR)/*.cpp) SAMPLES=$(subst $(SAMPLES_DIR),$(BUILD_DIR),$(SAMPLES_SRCS:.cpp=)) +SAMPLE_NAMES=$(subst $(SAMPLES_DIR)/,,$(SAMPLES_SRCS:.cpp=)) GEN_INCLUDES=$(BUILD_DIR)/gen_headers/gen/compiler_headers.h INCLUDES=$(wildcard $(INCLUDE_DIR)/*.h) $(wildcard $(INCLUDE_DIR)/*/*.h) $(GEN_INCLUDES)