[PATCH] build-system: use a shell variable for TMPFILE in debian-snapshot

Subject: [PATCH] build-system: use a shell variable for TMPFILE in debian-snapshot

Date: Sat, 17 Dec 2011 23:16:51 -0400

To: notmuch@notmuchmail.org

Cc: David Bremner

From: David Bremner


From: David Bremner <bremner@debian.org>

Aaron Ecay points out in
id:"1324136185-4509-1-git-send-email-aaronecay@gmail.com" that the
mktemp in

     debian-snapshot: TMPFILE := $(shell mktemp)

Is being evaluated for every target. As best I can tell, this is
because make is evaluating the right hand side, even though it is not
doing the assignment.

Of course, it isn't quite as nice to edit with the line continuations,
but it is ideomatic make.
---
 Makefile.local |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Makefile.local b/Makefile.local
index 5108a0c..97f397f 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -139,15 +139,16 @@ pre-release:
 	mv $(TAR_FILE) $(DEB_TAR_FILE) releases
 
 .PHONY: debian-snapshot
-debian-snapshot: TMPFILE := $(shell mktemp)
 debian-snapshot:
 	make VERSION=$(VERSION) clean
-	cp debian/changelog $(TMPFILE)
-	EDITOR=/bin/true dch -b -v $(VERSION)+1 -D UNRELEASED 'test build, not for upload'
-	echo '3.0 (native)' > debian/source/format
-	debuild -us -uc
-	mv -f $(TMPFILE) debian/changelog
-	echo '3.0 (quilt)' > debian/source/format
+	TMPFILE=$$(mktemp /tmp/notmuch.XXXXXX);		\
+	  cp debian/changelog $${TMPFILE};		\
+	  EDITOR=/bin/true dch -b -v $(VERSION)+1	\
+	    -D UNRELEASED 'test build, not for upload';	\
+	  echo '3.0 (native)' > debian/source/format; 	\
+	  debuild -us -uc;				\
+	  mv -f $${TMPFILE} debian/changelog;		\
+	  echo '3.0 (quilt)' > debian/source/format
 
 .PHONY: release-message
 release-message:
-- 
1.7.7.3


Thread: