Skip to content

Commit

Permalink
AUTO_OBJ: For all top-level targets enforce using an OBJDIR.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
bdrewery committed Dec 5, 2017
1 parent ac75444 commit 86244db
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
4 changes: 4 additions & 0 deletions Makefile.sys.inc
Expand Up @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion share/mk/src.sys.obj.mk
Expand Up @@ -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
Expand Down

0 comments on commit 86244db

Please sign in to comment.