Home | History | Annotate | Download | only in mk
History log of /src/share/mk/bsd.obj.mk
RevisionDateAuthorComments
 1.54  03-Jun-2023  lukem bsd.obj.mk: move MKHOSTOBJ to bsd.own.mk

Add default for MKHOSTOBJ=no to to bsd.own.mk _MKVARS.no.
Simplify bsd.obj.mk check.
 1.53  29-Mar-2022  christos get rid of old style `` command substitution in shell and use $() instead.
 1.52  19-May-2018  christos Prevent 'make obj' creating an objdir inside an objdir. This happens the
second time we call 'make obj' in /usr/src/rescue with MAKEOBJDIR set.
XXX: pullup-8
 1.51  10-Dec-2016  christos branches: 1.51.6; 1.51.12;
Back in 1993 ${MACHINE} was a unique way to define objdirs for
every platform. Thus setting OBJMACHINE, allowed one to keep
in-tree objdirs with multiple builds. With the advent of evb*, this
has become impossible until now. Introduce OBJMACHINE_ARCH that
adds ${MACHINE_ARCH} to the objdir so that we have unique objdirs
per build again. Until we restructure things to that this is not
necessary, it is the simplest fix.
 1.50  08-Dec-2016  christos factor out expression.
 1.49  25-Jan-2010  christos branches: 1.49.28;
PR/42658: Geoff Wing: Quote directory variables to deal with spaces in the
source pathname.
 1.48  11-Dec-2007  lukem It's "its" for possessive, not "it's".
 1.47  26-Nov-2006  dsl branches: 1.47.8;
Comment where make's internal copy of .OBJDIR gets changed
 1.46  04-Dec-2003  lukem Ensure that ${TOOL_STAT} is executable before trying to run it;
it may not be available when performing "make obj" in tools/
when using BSDSRCDIR & BSDOBJDIR (instead of MAKEOBJDIR{,PREFIX}).
 1.45  06-Nov-2003  lukem support MAKEVERBOSE for objdir creation messages
 1.44  28-Jul-2003  lukem Be consistent how "multiple include protection" is implemented. I.e,

.if !defined(_BSD_foo_MK_)
_BSD_foo_MK_=1

# ...

.endif # !defined(_BSD_foo_MK_)
 1.43  28-Jul-2003  lukem Pull in <bsd.sys.mk> as well, for the TOOL_ variables in the
USETOOLS=never case.
Found & fixed by Anders Hjalmarsson in PR misc/22283.
 1.42  20-Jul-2003  lukem Use ltarg=`stat -qf '%Y' $l` to read a symlink's target (and rely upon
a non-zero exit value to indicate a missing file or non-symlink),
instead of test -h $l && ltarg=`ls -ld $l | awk '{print $NF}'`
since the former is quicker and more concise.
 1.41  18-Jul-2003  lukem whitespace cleanup
 1.40  14-Mar-2002  thorpej Add a BUILDID variable, which further qualifies object directories.
 1.39  29-Nov-2001  wiz Remove spurious '.' in line 42, as reported by Naoto Shimazaki on
current-users on Thu, 29 Nov 2001 09:17:16.
 1.38  28-Nov-2001  tv Use :U successfully this time. In an expression such as ${FOO:D:Ubar}, you
end up with empty string if FOO is defined, and `bar' if it is undefined.
 1.37  27-Nov-2001  jmc If using MAKEOBJDIRPREFIX use the same checks as the symlink logic does below.

i.e. if the root of the object tree doesn't exist then complain and exit.

This makes both sections consistant to each other (MAKEOBJDIR specifies an
exact directory so there's no root per se to check so nothing can really be
done there).
 1.36  20-Nov-2001  tv :U can't be used to test for existence, as the variable may contain an
arbitrary value; change back to .if !defined(). Problem noted by
bernd@arresum.inka.de in PR toolchain/14629.
 1.35  14-Nov-2001  tv Turn off host-specific objdirs by default. Set MKHOSTOBJ=yes to enable.
 1.34  12-Nov-2001  tv Use ${__curdir} consistently.
 1.33  11-Nov-2001  tv Also handle the USR_OBJMACHINE case for OBJHOSTMACHINE.
 1.32  11-Nov-2001  tv Affix the ${HOST_OSTYPE} info to the end of the objdir name if OBJMACHINE
is set (and MAKEOBJDIR[PREFIX] is not in use). This permits multiple hosts
to compile hostprogs (not just src/tools) for a given target without
colliding with each other.

Currently restricted only to new toolchain builds, as this requires a new
make(1) in order to function properly.
 1.31  11-Nov-2001  tv Fix variable concatenation in previous.
 1.30  11-Nov-2001  tv Make the BSDSRCDIR/BSDOBJDIR symlink based objdir system work for the top
source directory. This will use BSDOBJDIR of OBJMACHINE is unset, and will
create a directory '.MACHINE' inside BSDOBJDIR if OBJMACHINE is set.

MAKEOBJDIR and MAKEOBJDIRPREFIX based objdirs already cope with the top
level directory just fine.
 1.29  31-Oct-2001  tv Use __curdir throughout, so MAKEOBJDIR builds see resolved paths in the
"foo -> bar" messages written to stdout.
 1.28  14-Aug-2001  tv Protect against multiple inclusion, and evaluate ${.CURDIR} early (to assist
the top-level toolchain bootstrap).
 1.27  10-Jun-2001  mrg fail `make obj' if $BSDOBJDIR doesn't exist. fixes PR#12937.
 1.26  11-Mar-2001  cgd "test !", rather than "! test". The former is more portable.
 1.25  07-Jul-2000  cgd test -h, not test -L.
 1.24  18-Feb-2000  itohy s/MAKOBJDIR/MAKEOBJDIR/
Pointed out by Katsuomi Hamajima.
 1.23  08-Feb-2000  sjg Fixed handling of MAKEOBJDIR so that it matches make(1)'s expectations.
Added handling of MAKEOBJDIRPREFIX.
In both cases we simply need to mkdir the appropriate path if it does not
exists.
 1.22  04-Dec-1999  sommerfeld When building obj symlinks, if there's already a link pointing at the right target,
do nothing rather than deleting and recreating an identical link.
 1.21  21-Aug-1999  sommerfeld branches: 1.21.4;
Use (if defined) instead of obj.foo or obj
when building object directories
 1.20  10-Jun-1999  kim Oops, PWD is really something else in most environments.
Call this variable PAWD instead.
 1.19  10-Jun-1999  tls Fix a typo which caused "make obj" to try to *execute* the direcroty it was in.
 1.18  08-Jun-1999  kim Allow "make obj" to work nicely with amd by setting
PWD=/usr/bin/pawd in /etc/mk.conf and using the amd
mount point path for BSDSRCDIR.
 1.17  12-Feb-1999  lukem branches: 1.17.2;
pull in bsd.own.mk for MKOBJ
 1.16  12-Feb-1999  lukem * Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
 1.15  27-Aug-1998  tv Rename show-objdir to print-objdir to be consistent with existing
convention.
 1.14  27-Aug-1998  tv Add pseudo-target "show-objdir", which will print the value of ${.OBJDIR}
and nothing else. Intended target: cleaning up the ugly "echo | make"
constructs to find files from another directory's objdir.
 1.13  09-May-1997  mycroft branches: 1.13.2;
Automatically add the .c files corresponding to .l and .y files to DPSRCS.
Automatically add DPSRCS to CLEANFILES.
 1.12  07-May-1997  mycroft Don't use _SUBDIRUSE outside of bsd.subdir.mk.
 1.11  06-May-1997  mycroft Add a pile of missing .PHONYs.
 1.10  15-Apr-1997  christos Make the `obj' target `.PHONY', so that does not get affected by .PATH/VPATH
This is not hurting things right now, and it will help things when path
searching for target nodes is enabled for make.
 1.9  10-Apr-1996  thorpej Get the current working directory from "/bin/pwd" rather than "pwd".
Changes to the shell make the behavior of "make obj" inconsistent
with previous behavior, depending on the login shell used by the user.
See PR #2200 for details. PR remains open while further analysis is
done. This at least restores the previous semantics for us csh(1) users.
 1.8  21-Feb-1996  pk Use shell internal substring matching, like bsd.man.mk.
 1.7  10-Jun-1995  mycroft Explicitly remove obj link before creating it.
 1.6  30-Jun-1994  cgd RCSID frobbing, and minor sanity adjustments.
 1.5  30-Jun-1994  cgd don't be careless with _SUBDIRUSE
 1.4  07-Nov-1993  cgd define BSDOBJDIR and BSDSRCDIR to have make think of the src and obj
trees as rooted someplace other than /usr/src and /usr/obj.
 1.3  23-Oct-1993  cgd add support to make obj.${MACHINE} dirs, if the user so requests.
note that not all makefiles in the tree will work with them, yet.
 1.2  21-Oct-1993  cgd 'obj' was missing in echo which informed of symlink creation
 1.1  15-Aug-1993  mycroft Create target directories with `install -d', and move `obj' targets into one
file.
 1.13.2.1  07-Nov-1998  cgd pull up revs 1.14-1.15 from trunk (jonathan)
 1.17.2.1  08-Jan-2000  he Pull up revisions 1.18-1.20 (requested by kim):
Allow "make obj" to work nicely with amd by setting PAWD=/usr/bin/pawd
in /etc/mk.conf and using the amd mount point path for BSDSRCDIR.
 1.21.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.47.8.1  09-Jan-2008  matt sync with HEAD
 1.49.28.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.51.12.1  21-May-2018  pgoyette Sync with HEAD
 1.51.6.1  07-Jun-2018  martin Pull up following revision(s) (requested by christos in ticket #834):

usr.bin/make/var.c: revision 1.219
share/mk/bsd.obj.mk: revision 1.52
usr.sbin/crash/Makefile: revision 1.40
share/mk/sys.mk: revision 1.131
share/mk/bsd.sys.mk: revision 1.276
share/mk/bsd.sys.mk: revision 1.277

Prevent 'make obj' creating an objdir inside an objdir. This happens the
second time we call 'make obj' in /usr/src/rescue with MAKEOBJDIR set.
XXX: pullup-8
-
Need to delete ${DESTDIR} for lint
XXX: pullup-8
-
Fix reproducible builds
XXX: pullup-8
-
Also substitute ${X11SRCDIR} for the random seed for reproducible builds so
that the random seed is consistent.
XXX: pullup-8
-
Since ${MAKE} converts $$ -> $ during parsing we need to put it back to
preserve the original variable value with :Q.
XXX: pullup-8
-
Be more selective about remapping object directories otherwise we pick
objdump and objcopy with the regex.
XXX: pullup-8

RSS XML Feed