From 9c69a16bb0bfbfcf05f181fa83ea40e383541e58 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Mon, 20 Oct 2025 09:23:14 +0000 Subject: [PATCH] lib->library in name --- developer/make/target_kmod.mk | 26 +++++++++++++++++++ ...arget_lib_cli.mk => target_library_cli.mk} | 0 2 files changed, 26 insertions(+) rename developer/make/{target_lib_cli.mk => target_library_cli.mk} (100%) diff --git a/developer/make/target_kmod.mk b/developer/make/target_kmod.mk index 4c806eb..06ad92b 100644 --- a/developer/make/target_kmod.mk +++ b/developer/make/target_kmod.mk @@ -58,3 +58,29 @@ clean: $(MAKE) -C $(BUILD_DIR) M=$(OUTPUT_DIR) clean; \ fi +----- +# add this near BASE_LIST +ALL_C := $(addsuffix .c,$(addprefix $(OUTPUT_DIR)/,$(BASE_LIST))) + +.PHONY: kmod +# build everything in one go +kmod: _prepare modules + +.PHONY: _prepare +_prepare: + @mkdir -p $(OUTPUT_DIR) + @printf "obj-m := %s\n" "$(foreach m,$(BASE_LIST),$(m).o)" > $(OUTPUT_DIR)/Makefile + @for b in $(BASE_LIST); do \ + src="$(SOURCE_DIR)/$$b.kmod.c"; dst="$(OUTPUT_DIR)/$$b.c"; \ + echo "--- Preparing Kbuild Source: $$dst ---"; \ + ln -s $$src $$dst; \ + done + +.PHONY: modules +modules: $(OUTPUT_DIR)/Makefile $(ALL_C) + @echo "--- Invoking Kbuild for Modules: $(BASE_LIST) ---" + $(MAKE) -C $(BUILD_DIR) M=$(OUTPUT_DIR) modules + +# optional: keep these as no-ops so 'make …/foo.ko' still succeeds +$(OUTPUT_DIR)/%.ko: modules + @true diff --git a/developer/make/target_lib_cli.mk b/developer/make/target_library_cli.mk similarity index 100% rename from developer/make/target_lib_cli.mk rename to developer/make/target_library_cli.mk -- 2.20.1