build: Accept BIN_DIR parameter for legacy-images
authorSven Eckelmann <sven@narfation.org>
Mon, 11 Feb 2019 15:26:42 +0000 (16:26 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 17 Feb 2019 18:22:39 +0000 (19:22 +0100)
BIN_DIR can be set to overwrite the output path for new images. This is an
advertised feature for the imagebuilder and is used by systems like
LibreMesh's chef.

The legacy images are build using a new sub-make which doesn't receive the
variable overwrites of the parent make process. As result, the BIN_DIR is
automatically defined to the default value from rules.mk. The images will
therefore not be placed in the output path which was selected by the user.

Providing BIN_DIR as an explicit variable override to the sub-make works
around this problem.

Fixes: 26c771452cd8 ("image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles")
Reported-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
include/image.mk

index 5d93a42..8f31409 100644 (file)
@@ -607,7 +607,7 @@ define BuildImage
                $(call Image/Prepare)
 
     legacy-images-prepare-make: image_prepare
-               $(MAKE) legacy-images-prepare
+               $(MAKE) legacy-images-prepare BIN_DIR="$(BIN_DIR)"
 
   else
     image_prepare:
@@ -631,7 +631,7 @@ define BuildImage
 
   legacy-images-make: install-images
        $(call Image/mkfs/ubifs/legacy)
-       $(MAKE) legacy-images
+       $(MAKE) legacy-images BIN_DIR="$(BIN_DIR)"
 
   install: install-images
        $(call Image/Manifest)