diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-04-27 11:30:47 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-04-27 11:30:47 -0600 |
| commit | a4b94d40e61e634aa8e970af3911a7671e7d8d50 (patch) | |
| tree | e7fc9b2b9d84a32aa9f01aa744008d3308feac92 /mk/cores.mk | |
| parent | d5dd7bf1879c2a99779b70b8f063f3f16d8b2df8 (diff) | |
mk: implement peakrdl support
Diffstat (limited to 'mk/cores.mk')
| -rw-r--r-- | mk/cores.mk | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/mk/cores.mk b/mk/cores.mk index 7ff373d..5c71272 100644 --- a/mk/cores.mk +++ b/mk/cores.mk @@ -10,18 +10,30 @@ all_stamps := top_stamp = $(call core_stamp,$(rule_top)) core_stamp = $(obj)/deps/$(core_info/$(1)/path)/stamp -core_paths = \ +core_paths_no_dyn = \ $(patsubst /%,%, \ $(patsubst /,., \ $(abspath \ $(let prefix,$(core_info/$(1)/workdir), \ - $(addprefix /$(if $(prefix),$(prefix)/),$(core_info/$(1)/$(2))))))) + $(foreach path_elem,$(core_info/$(1)/$(2)), \ + $(if $(patsubst /%,,$(path_elem)), \ + $(addprefix /$(if $(prefix),$(prefix)/),$(path_elem)), \ + $(path_elem))))))) + +core_paths = \ + $(call core_paths_no_dyn,$(1),$(2)) $(call core_paths_no_dyn,$(1),$(call target_var,$(2))) require_core_paths = \ $(strip \ $(let val,$(strip $(call core_paths,$(1),$(2))), \ $(if $(val),$(val),$(error core '$(1)' must define '$(2)')))) +core_paths_dyn = $(call core_paths,$(1),$(call target_var,$(2))) + +define add_core_dyn + core_info/$(1)/$(call target_var,$(2)) := $(core_info/$(1)/$(call target_var,$(2))) $(3) +endef + require_core_var = \ $(strip \ $(let val,$(core_info/$(1)/$(2)), \ |
