build: copy contents of 'src' folder to build dirs (if present)
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 5 Oct 2016 14:28:46 +0000 (17:28 +0300)
committerJohn Crispin <john@phrozen.org>
Sat, 15 Oct 2016 09:36:51 +0000 (11:36 +0200)
The normal Prepare step for a build is unpack, apply patches.
But for certain packages, patches contain whole files, which
would be nice to have separately and copied over as a last step
in the Prepare phase.

We need it for some other packages + patches, but I think
the 'hostapd' package can be used as a test for this.

As a quick note:
the reason the condition is being evaluated as
`[ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR)`
and not with
`[ -d ./src/ ] && $(CP) ./src/* $(HOST_BUILD_DIR)`
is that the latter would translate in a build failure if the `src`
folder is not present (the exit code would be 1).
The first one, succeeds for both cases (if `src` present or not).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
include/host-build.mk
include/package-defaults.mk

index 72b3259..56e0e4e 100644 (file)
@@ -43,6 +43,7 @@ Host/Patch:=$(Host/Patch/Default)
 ifneq ($(strip $(HOST_UNPACK)),)
   define Host/Prepare/Default
        $(HOST_UNPACK)
+       [ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR)
        $(Host/Patch)
   endef
 endif
index 4eb5409..487811c 100644 (file)
@@ -62,6 +62,7 @@ Build/Patch:=$(Build/Patch/Default)
 ifneq ($(strip $(PKG_UNPACK)),)
   define Build/Prepare/Default
        $(PKG_UNPACK)
+       [ ! -d ./src/ ] || $(CP) ./src/* $(PKG_BUILD_DIR)
        $(Build/Patch)
   endef
 endif