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

David Bremner david at tethera.net
Sat Dec 17 19:16:51 PST 2011


From: David Bremner <bremner at debian.org>

Aaron Ecay points out in
id:"1324136185-4509-1-git-send-email-aaronecay at 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



More information about the notmuch mailing list