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