summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-05-23 20:10:49 -0600
committerAlejandro Soto <alejandro@34project.org>2024-05-24 05:58:43 -0600
commit812f3d4e9baf2e5aed0d56302707399a8abc8697 (patch)
tree0ffdf8a18159d575f2e896ddee871873b88e2778 /mk
parent733cdbc1d9157bf4785061c1a12d6740fa380a10 (diff)
mk/cc: implement ld_extra
Diffstat (limited to '')
-rw-r--r--mk/cc.mk7
1 files changed, 4 insertions, 3 deletions
diff --git a/mk/cc.mk b/mk/cc.mk
index 700edd6..04237c8 100644
--- a/mk/cc.mk
+++ b/mk/cc.mk
@@ -1,5 +1,5 @@
cc_srcs = $(call require_core_paths,$(1),cc_files)
-cc_objs = $(call cc_srcs_to_objs,$(1),$(call cc_srcs,$(1)))
+ld_objs = $(call cc_srcs_to_objs,$(1),$(call cc_srcs,$(1))) $(call core_objs,$(1),ld_extra)
cc_srcs_to_objs = $(addsuffix .o,$(addprefix $(obj)/cc/$(1)/,$(basename $(notdir $(2)))))
define hooks/cc
@@ -7,10 +7,10 @@ define hooks/cc
cc_binary := $$(call require_core_objs,$(1),ld_binary)
$$(cc_binary): | $$(obj)/cc/$(1)
- $$(cc_binary): $$(call cc_objs,$(1)) $$(obj_deps)
+ $$(cc_binary): $$(call ld_objs,$(1)) $$(obj_deps)
$$(call run,LD,$$@) $$(core_info/$(1)/cross)gcc \
$$(core_info/$(1)/cc_flags) $$(core_info/$(1)/ld_flags) \
- $$(call cc_objs,$(1)) -o $$@
+ $$(call ld_objs,$(1)) -o $$@
$$(obj)/cc/$(1): $$(obj)
@mkdir -p $$@
@@ -24,6 +24,7 @@ endef
define cc_unit_rule
define obj_rules
+ $(3): | $$(obj)/cc/$(1)
$(3): $(2) $$(obj_deps)
$$(call run,CC,$$<) $(core_info/$(1)/cross)gcc $(core_info/$(1)/cc_flags) -MMD -c $$< -o $$@
endef