From 2008c2d4b4a7b4d1373d0b04db8ef775bb4b68ab Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Thu, 23 May 2024 20:11:08 -0600 Subject: mk: add bin2rel hook --- mk/bin2rel.mk | 19 +++++++++++++++++++ mk/top.mk | 1 + 2 files changed, 20 insertions(+) create mode 100644 mk/bin2rel.mk diff --git a/mk/bin2rel.mk b/mk/bin2rel.mk new file mode 100644 index 0000000..a627e54 --- /dev/null +++ b/mk/bin2rel.mk @@ -0,0 +1,19 @@ +bin2rel_src = $(call require_core_objs,$(1),bin2rel_src) +bin2rel_obj = $(call require_core_objs,$(1),bin2rel_obj) + +define hooks/bin2rel + define obj_rules + $$(call bin2rel_obj,$(1)): $$(call bin2rel_src,$(1)) $$(obj_deps) + $$(call run,BIN2REL,$$@) \ + cd $$(dir $$<) && \ + $$(core_info/$(1)/cross)ld -r -b binary -o $$(src)/$$@.data $$(notdir $$<) && \ + cd - && \ + $$(core_info/$(1)/cross)objcopy \ + --rename-section .data=.rodata,alloc,load,readonly,data,contents \ + --set-section-alignment .data=16 \ + $$@.data $$@ && \ + rm -f $$@.data + endef + + $$(eval $$(call add_obj_rules,$(1))) +endef diff --git a/mk/top.mk b/mk/top.mk index 9f67ff6..e9d0181 100644 --- a/mk/top.mk +++ b/mk/top.mk @@ -26,6 +26,7 @@ endif $(foreach flag,$(subst $(comma),$(space),$(enable)),$(eval override enable_$(flag) := 1)) $(foreach flag,$(subst $(comma),$(space),$(disable)),$(eval override enable_$(flag) :=)) +include mk/bin2rel.mk include mk/build.mk include mk/cc.mk include mk/cocotb.mk -- cgit v1.2.3