From e12e7af8b9d125a2dbd247dcd71896e4a6873d5a Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Wed, 22 May 2024 15:01:50 -0600 Subject: mk: implement support for meson, ninja --- mk/meson.mk | 23 +++++++++++++++++++++++ mk/tools.mk | 2 ++ mk/top.mk | 1 + 3 files changed, 26 insertions(+) create mode 100644 mk/meson.mk (limited to 'mk') diff --git a/mk/meson.mk b/mk/meson.mk new file mode 100644 index 0000000..991dc79 --- /dev/null +++ b/mk/meson.mk @@ -0,0 +1,23 @@ +ninja_dir = $(obj)/ninja/$(1) + +define hooks/meson + define obj_rules + meson_stamp := $$(call ninja_dir,$(1))/meson.stamp + ninja_stamp := $$(call ninja_dir,$(1))/ninja.stamp + + $$(call require_core_objs,$(1),meson_objs): $$(ninja_stamp) + + $$(ninja_stamp): $$(meson_stamp) + $$(call run,NINJA,$(1)) $$(NINJA) -C $$(call ninja_dir,$(1)) install + @touch $$@ + + $$(meson_stamp): | $$(obj) + $$(meson_stamp): $$(call meson_src,$(1)) $$(obj_deps) + $$(call run,MESON,$(1)) $$(MESON) setup \ + $$(call require_core_paths,$(1),meson_src) $$(call ninja_dir,$(1)) \ + $$(core_info/$(1)/meson_args) + @touch $$@ + endef + + $$(eval $$(call add_obj_rules,$(1))) +endef diff --git a/mk/tools.mk b/mk/tools.mk index 5decb78..c01c2de 100644 --- a/mk/tools.mk +++ b/mk/tools.mk @@ -1,6 +1,8 @@ define find_tools_lazy $(call find_command_lazy,cocotb-config,COCOTB_CONFIG) $(call find_command_lazy,genhtml,GENHTML) + $(call find_command_lazy,meson,MESON) + $(call find_command_lazy,ninja,NINJA) $(call find_command_lazy,peakrdl,PEAKRDL) $(call find_command_lazy,pkg-config,PKG_CONFIG) $(call find_command_lazy,python3,PYTHON3) diff --git a/mk/top.mk b/mk/top.mk index 1e31d3f..9f67ff6 100644 --- a/mk/top.mk +++ b/mk/top.mk @@ -32,6 +32,7 @@ include mk/cocotb.mk include mk/cores.mk include mk/cov.mk include mk/makehex.mk +include mk/meson.mk include mk/obj.mk include mk/objcopy.mk include mk/output.mk -- cgit v1.2.3