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 \
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to