HomeFreeBSD

Handle some .OBJDIR == .CURDIR cases.

Description

Handle some .OBJDIR == .CURDIR cases.

  • If OBJROOT is SRCTOP then don't add on TARGET.TARGET_ARCH. This only happens at the top-level, and for sub-directories when the user is clever with MAKEOBJDIRPREFIX=/.
  • Don't bother checking 'test -w' on .CURDIR.
  • Properly set OBJTOP/OBJROOT to SRCTOP in various needed cases.
  • Check if the OBJDIR is writable even for *clean* targets since it determines which .OBJDIR the user gets; If they cannot write to an existing eligible .OBJDIR then it needs to clean in .CURDIR instead.
  • Add guard to cleanworld/cleanuniverse from removing SRCTOP.
  • Ensure OBJTOP is proper for .OBJDIR=.CURDIR which fixes finding libraries since src.libnames.mk is based on OBJTOP.
  • Avoid some chdir(2) for modifying .OBJDIR

Sponsored by: Dell EMC Isilon

Details

Provenance
bdreweryAuthored on
Parents
rS325625: systm.h: Include cdefs.h first
Branches
Unknown
Tags
Unknown