From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> Add make targets for building with meson: make meson make meson_install make meson_docs Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> --- Makefile | 14 +++++++++++++- Makefile.meson | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 Makefile.meson diff --git a/Makefile b/Makefile index 6a30eaf0a330..897c972ff9b7 100644 --- a/Makefile +++ b/Makefile @@ -527,7 +527,7 @@ install_doc: check_doc: force $(Q)$(src)/check-manpages.sh $(src)/Documentation/libtracecmd -clean: +clean: clean_meson $(RM) *.o *~ *.a *.so .*.d $(RM) tags TAGS cscope* $(PKG_CONFIG_SOURCE_FILE) $(VERSION_FILE) $(MAKE) -C $(src)/lib/trace-cmd clean @@ -598,6 +598,18 @@ ctracecmd.so: force $(LIBTRACECMD_STATIC) PHONY += python python: $(PYTHON) +meson: + $(MAKE) -f Makefile.meson + +meson_install: + $(MAKE) -f Makefile.meson install + +meson_docs: + $(MAKE) -f Makefile.meson docs + +PHONY += clean_meson +clean_meson: + $(Q)$(MAKE) -f Makefile.meson $@ dist: git archive --format=tar --prefix=trace-cmd-$(TRACECMD_VERSION)/ HEAD \ diff --git a/Makefile.meson b/Makefile.meson new file mode 100644 index 000000000000..71d6bf36c654 --- /dev/null +++ b/Makefile.meson @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0 + +undefine CFLAGS + +# Makefiles suck: This macro sets a default value of $(2) for the +# variable named by $(1), unless the variable has been set by +# environment or command line. This is necessary for CC and AR +# because make sets default values, so the simpler ?= approach +# won't work as expected. +define allow-override + $(if $(or $(findstring environment,$(origin $(1))),\ + $(findstring command line,$(origin $(1)))),,\ + $(eval $(1) = $(2))) +endef + +$(call allow-override,MESON,meson) +$(call allow-override,MESON_BUILD_DIR,build) + + +all: compile + +PHONY += compile +compile: $(MESON_BUILD_DIR) force + $(MESON) compile -C $(MESON_BUILD_DIR) + +$(MESON_BUILD_DIR): + $(MESON) setup --prefix=$(prefix) $(MESON_BUILD_DIR) + +install: compile + $(MESON) install -C $(MESON_BUILD_DIR) + +docs: $(MESON_BUILD_DIR) + $(MESON) compile -C build docs + +PHONY += clean_meson +clean_meson: + $(Q)$(RM) -rf $(MESON_BUILD_DIR) + +PHONY += force +force: -- 2.43.0