diff options
author | Andre Heider <a.heider@gmail.com> | 2023-02-02 19:20:42 +0100 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-03-21 18:28:18 +0100 |
commit | 0a44c579a1ab3f699ad84728cc6cde78c99ba1d1 (patch) | |
tree | a2d029f48d6270856a3320e86036945090573b4e | |
parent | eb564690c995b284204aa762c0f77f3064419a9c (diff) | |
download | upstream-0a44c579a1ab3f699ad84728cc6cde78c99ba1d1.tar.gz upstream-0a44c579a1ab3f699ad84728cc6cde78c99ba1d1.tar.bz2 upstream-0a44c579a1ab3f699ad84728cc6cde78c99ba1d1.zip |
build: introduce PKG_BUILD_FLAGS and move PKG_IREMAP to it
PKG_BUILD_FLAGS is a new variable for package Makefiles similar to
PKG_FLAGS. It's a whitespace separated list of flags to control various
aspects of how a package is build.
The build system and/or .config defines the default for each, but
every package has the means to override it. Using $flagname enables
a flag, no-$flagname disables it.
Start with PKG_IREMAP as "iremap". That's easy as no package here
nor in any package feed uses it. The default is unchanged: enabled.
Packages can opt-out via:
PKG_BUILD_FLAGS:=no-iremap
(Not that any should, just to illustrate how to use it)
Signed-off-by: Andre Heider <a.heider@gmail.com>
-rw-r--r-- | include/package.mk | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/package.mk b/include/package.mk index 368bf0d7ca..8d14c17dbd 100644 --- a/include/package.mk +++ b/include/package.mk @@ -12,7 +12,6 @@ PKG_BUILD_DIR ?= $(BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT) PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install PKG_BUILD_PARALLEL ?= PKG_USE_MIPS16 ?= 1 -PKG_IREMAP ?= 1 PKG_SKIP_DOWNLOAD=$(USE_SOURCE_DIR)$(USE_GIT_TREE)$(USE_GIT_SRC_CHECKOUT) MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j)) @@ -30,7 +29,20 @@ ifdef CONFIG_USE_MIPS16 TARGET_CFLAGS += -mips16 -minterlink-mips16 endif endif -ifeq ($(strip $(PKG_IREMAP)),1) + +PKG_BUILD_FLAGS?= + +__unknown_flags=$(filter-out no-iremap,$(PKG_BUILD_FLAGS)) +ifneq ($(__unknown_flags),) + $(error unknown PKG_BUILD_FLAGS: $(__unknown_flags)) +endif + +# $1=flagname, $2=default (0/1) +define pkg_build_flag +$(if $(filter no-$(1),$(PKG_BUILD_FLAGS)),0,$(if $(filter $(1),$(PKG_BUILD_FLAGS)),1,$(2))) +endef + +ifeq ($(call pkg_build_flag,iremap,1),1) IREMAP_CFLAGS = $(call iremap,$(PKG_BUILD_DIR),$(notdir $(PKG_BUILD_DIR))) TARGET_CFLAGS += $(IREMAP_CFLAGS) endif |