svn commit: r293231 - head/release

Glen Barber gjb at FreeBSD.org
Wed Jan 6 05:23:26 UTC 2016


Author: gjb
Date: Wed Jan  6 05:23:25 2016
New Revision: 293231
URL: https://svnweb.freebsd.org/changeset/base/293231

Log:
  Add a new target to touch the ${.OBJDIR}/release file, which
  indicates the 'release' target has run (in order to prevent
  subsequent invocations that may clobber original build output).
  
  As is, the 'release' target is a dummy target that does nothing
  more than depend on subsequent targets.  Unless 'make obj' is
  invoked prior to 'make release', .OBJDIR and .CURDIR will always
  be '/usr/src/release' (or wherever /usr/src is located).
  
  When 'make release' invokes 'make real-release' (and subsequent
  targets), .OBJDIR is not updated, which still leads to src/ tree
  pollution.
  
  While arguably a hack, 'make release' will invoke the original
  dummy targets as originally intended, but instead of touching an
  empty file (or returing @true), will call a 'release-done' target
  that will trigger the behavior that was intended to prevent
  a subsequent invocation.
  
  Discussed with:	hrs
  MFC after:	3 days
  X-MFC-With:	r293173
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/release/Makefile

Modified: head/release/Makefile
==============================================================================
--- head/release/Makefile	Wed Jan  6 00:52:55 2016	(r293230)
+++ head/release/Makefile	Wed Jan  6 05:23:25 2016	(r293231)
@@ -281,7 +281,11 @@ ftp: packagesystem
 	cp *.txz MANIFEST ftp
 
 release:	real-release vm-release cloudware-release
-	touch ${.OBJDIR}/${.TARGET}
+	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done
+	true
+
+release-done:
+	touch release
 
 real-release:
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj


More information about the svn-src-all mailing list