[apparmor] [PATCH v3 3/5] Makefile: Convert shell variables into reusable make variables
Steve Beattie
steve at nxnw.org
Wed Jan 27 20:49:45 UTC 2016
On Wed, Jan 27, 2016 at 12:27:00PM -0600, Tyler Hicks wrote:
> Turn REPO_VERSION and SNAPSHOT_DIR into make variables that may be
> reused by future targets that specify the snapshot target as a
> prerequisite. This prevents us from having to repeatedly call out to
> potentially slow commands on bound bzr branches, such as the bzr
> version-info command stored in the REPO_VERSION_CMD make variable.
>
> The new REPO_VERSION make variable is turned into a "simply expanded"
> variable as to not require a callout to bzr each time it is expanded.
>
> The SNAPSHOT_DIR shell variable is renamed to SNAPSHOT_NAME as a make
> variable. The new name may be slightly more descriptive in the future as
> the variable will be reused in other ways besides a simple directory
> name.
>
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
Acked-by: Steve Beattie <steve at nxnw.org> (though it turns out we don't
reuse the variables anywhere that I can see).
Thanks.
> * Changes since v2:
> - Move REPO_VERSION and SNAPSHOT_NAME make variable definitions into the
> snapshot target instead of using the 'target-specific' variable technique.
> The reason is because target-specific simply expanded make variables are
> always evaluated, no matter if the target was specified or not. That was
> causing REPO_VERSION_CMD to always be ran, even when the snapshot target
> was not in use, which is slow on bound bzr branches.
>
> Makefile | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index b9ed3b3..24cc2d2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -45,11 +45,11 @@ tarball: clean
>
> .PHONY: snapshot
> snapshot: clean
> - REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \
> - SNAPSHOT_DIR=apparmor-${VERSION}~$${REPO_VERSION} ;\
> - make export_dir __EXPORT_DIR=$${SNAPSHOT_DIR} __REPO_VERSION=$${REPO_VERSION} ; \
> - make setup __SETUP_DIR=$${SNAPSHOT_DIR} ; \
> - tar ${TAR_EXCLUSIONS} -cvzf $${SNAPSHOT_DIR}.tar.gz $${SNAPSHOT_DIR} ;
> + $(eval REPO_VERSION:=$(shell $(value REPO_VERSION_CMD)))
> + $(eval SNAPSHOT_NAME=apparmor-$(VERSION)~$(REPO_VERSION))
> + make export_dir __EXPORT_DIR=${SNAPSHOT_NAME} __REPO_VERSION=${REPO_VERSION} ; \
> + make setup __SETUP_DIR=${SNAPSHOT_NAME} ; \
> + tar ${TAR_EXCLUSIONS} -cvzf ${SNAPSHOT_NAME}.tar.gz ${SNAPSHOT_NAME} ;
>
>
> .PHONY: export_dir
--
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20160127/390557c1/attachment-0001.pgp>
More information about the AppArmor
mailing list