build: permit overwrite PACKAGE_DIR and PACKAGE_DIR_ALL
authorChristian Marangi <ansuelsmth@gmail.com>
Thu, 24 Oct 2024 18:13:07 +0000 (20:13 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 28 Oct 2024 23:07:51 +0000 (00:07 +0100)
Permit to overwrite PACKAGE_DIR and PACKAGE_DIR_ALL variables in
rules.mk.

This is to handle a special case with the ImageBuilder where these
variable are overwrite.

The main problem is that any include calling rules.mk again (example
image.mk) will set these variables again dropping the modified value.

To keep the modified value, set the PACKAGE_DIR and PACKAGE_DIR_ALL only
if not already set. This permits the ImageBuilder to use custom
directory instead of the default one defined in rules.mk.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
rules.mk

index ae20742bd71bf8653af06250ee378c4199008cc8..973fd1cbb90ea382e83abfbc2ddd283d73ba8395 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -141,8 +141,8 @@ ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_TARGET_uml)),)
   iremap = -f$(if $(CONFIG_REPRODUCIBLE_DEBUG_INFO),file,macro)-prefix-map=$(1)=$(2)
 endif
 
-PACKAGE_DIR:=$(BIN_DIR)/packages
-PACKAGE_DIR_ALL:=$(TOPDIR)/staging_dir/packages/$(BOARD)
+PACKAGE_DIR?=$(BIN_DIR)/packages
+PACKAGE_DIR_ALL?=$(TOPDIR)/staging_dir/packages/$(BOARD)
 BUILD_DIR:=$(BUILD_DIR_BASE)/$(TARGET_DIR_NAME)
 STAGING_DIR:=$(TOPDIR)/staging_dir/$(TARGET_DIR_NAME)
 BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_BASE)/$(TOOLCHAIN_DIR_NAME)