Browse Source

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
freebsd/current/master
bdrewery 2 years ago
parent
commit
86244dbc41
Notes: bdrewery 2 years ago
svn path=/head/; revision=326580
2 changed files with 5 additions and 1 deletions
  1. +4
    -0
      Makefile.sys.inc
  2. +1
    -1
      share/mk/src.sys.obj.mk

+ 4
- 0
Makefile.sys.inc View File

@@ -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)


+ 1
- 1
share/mk/src.sys.obj.mk View File

@@ -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

Loading…
Cancel
Save