Makefile: ensure $BINARIES_DIR exist before post-image scripts
authorBrent Generous <bgenerous@impinj.com>
Sun, 4 Aug 2019 15:07:07 +0000 (17:07 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 4 Aug 2019 15:37:56 +0000 (17:37 +0200)
When no filesystem is enabled, the $BINARIES_DIR is not created. Yet,
the post-image scripts are still run. When those want to generate an
image in there, they may fail as the dirctory does not exist (it did
exist before we started applying preparatory changes for top-level
parallel build, so scripts got to rely on that assumption).

Do in target-post-image as we do in the sdk rule: create the directory
before calling the scripts.

Signed-off-by: Brent Generous <bgenerous@impinj.com>
[yann.morin.1998@free.fr:
  - create the directory before calling the scripts
  - don't drop the creation in the sdk rule
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Makefile

index bc5329bde3e6a12661d93737fd5305956311029e..f76d86a976f1c600b4b08f76bf02992ee686cf20 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -810,6 +810,7 @@ endif # merged /usr
 .PHONY: target-post-image
 target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
        @rm -f $(ROOTFS_COMMON_TAR)
+       $(Q)mkdir -p $(BINARIES_DIR)
        @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
                $(call MESSAGE,"Executing post-image script $(s)"); \
                $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))