svn commit: r326580 - in head: . share/mk

Bryan Drewery bdrewery at FreeBSD.org
Tue Dec 5 21:29:48 UTC 2017


Author: bdrewery
Date: Tue Dec  5 21:29:47 2017
New Revision: 326580
URL: https://svnweb.freebsd.org/changeset/base/326580

Log:
  AUTO_OBJ: For all top-level targets enforce using an OBJDIR.
  
  This will cause an error if the wanted OBJDIR is not writable.  Previously it
  would cause the files to generate to the source tree.  This was too obscure and
  things like buildworld really expect a proper OBJDIR layout.
  
  Sponsored by:	Dell EMC

Modified:
  head/Makefile.sys.inc
  head/share/mk/src.sys.obj.mk

Modified: head/Makefile.sys.inc
==============================================================================
--- head/Makefile.sys.inc	Tue Dec  5 21:21:23 2017	(r326579)
+++ head/Makefile.sys.inc	Tue Dec  5 21:29:47 2017	(r326580)
@@ -38,6 +38,10 @@ MK_AUTO_OBJ=		no
 # just want to read any existing OBJDIR but we don't care if we can create
 # or write to them.
 .MAKEOVERRIDES+=	MK_AUTO_OBJ
+.else
+# For top-level we always assume the MAKEOBJDIRPREFIX is writable rather than
+# falling back to .CURDIR.
+__objdir_writable= yes
 .endif
 .endif	# empty(.MAKEOVERRIDES:MMK_AUTO_OBJ)
 

Modified: head/share/mk/src.sys.obj.mk
==============================================================================
--- head/share/mk/src.sys.obj.mk	Tue Dec  5 21:21:23 2017	(r326579)
+++ head/share/mk/src.sys.obj.mk	Tue Dec  5 21:29:47 2017	(r326580)
@@ -172,7 +172,7 @@ CheckAutoObj() { \
 .if !empty(__objdir)
 .if ${.CURDIR} == ${__objdir}
 __objdir_writable?= yes
-.else
+.elif empty(__objdir_writable)
 __objdir_writable!= \
 	${CheckAutoObj}; CheckAutoObj "${__objdir}" || echo no
 .endif


More information about the svn-src-all mailing list