svn commit: r298219 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Mon Apr 18 18:14:03 UTC 2016


Author: bdrewery
Date: Mon Apr 18 18:14:02 2016
New Revision: 298219
URL: https://svnweb.freebsd.org/changeset/base/298219

Log:
  Cause an error during 'make install' if trying to compile with CC.
  
  This is limited to src-tree builds, meaning not extended to ports or other
  out-of-tree builds.
  
  This will help ensure that read-only OBJDIRS will be respected at install-time
  by causing a more consistent failure for those who don't use a read-only
  OBJDIR.  It also will cause Jenkins to yell.  This is a better solution than
  trying to see CC=false as has been attempted and discussed before.
  
  Of course this is only relevant for files generated by CC.
  
  Disable this for META_MODE since it will detect the CFLAGS/command
  change and force a rebuild.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.sys.mk

Modified: head/share/mk/bsd.sys.mk
==============================================================================
--- head/share/mk/bsd.sys.mk	Mon Apr 18 18:13:58 2016	(r298218)
+++ head/share/mk/bsd.sys.mk	Mon Apr 18 18:14:02 2016	(r298219)
@@ -178,6 +178,13 @@ ACFLAGS+=	${ACFLAGS.${.IMPSRC:T}}
 CFLAGS+=	${CFLAGS.${.IMPSRC:T}}
 CXXFLAGS+=	${CXXFLAGS.${.IMPSRC:T}}
 
+.if defined(SRCTOP)
+# Prevent rebuilding during install to support read-only objdirs.
+.if make(install) && empty(.MAKE.MODE:Mmeta)
+CFLAGS+=	ERROR-tried-to-rebuild-during-make-install
+.endif
+.endif
+
 # Tell bmake not to mistake standard targets for things to be searched for
 # or expect to ever be up-to-date.
 PHONY_NOTMAIN = analyze afterdepend afterinstall all beforedepend beforeinstall \


More information about the svn-src-all mailing list