| # 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: |