Subject: CVS commit: basesrc
To: None <source-changes@netbsd.org>
From: Simon J. Gerraty <sjg@netbsd.org>
List: source-changes
Date: 04/20/2000 04:23:27
Module Name:	basesrc
Committed By:	sjg
Date:		Thu Apr 20 11:23:27 UTC 2000

Modified Files:
	basesrc/usr.bin/make: compat.c job.c main.c make.h

Log Message:
Changes to make MAKEOBJDIRPREFIX useful.

Firstly, we ignore getenv("PWD") if MAKEOBJDIRPREFIX is set so that we always
get the same value for .CURDIR regardless of how make was invoked.

Second, when executing a command we check if it is ${.MAKE} or ${.MAKE:T}
without a preceeding chdir, if so we insert a chdir(${.CURDIR}) so that
the Makefile will be found by the child make.  Note that this behaviour is
dissabled if MAKEOBJDIRPREFIX is not set or if NOCHECKMAKECHDIR is set.
See the comments in main.c for more detail.

With these two changes, one can successfully build usr/src using MAKEOBJDIRPREFIX
allowing the src to be mounted from a CD-ROM.


To generate a diff of this commit:
cvs rdiff -r1.29 -r1.30 basesrc/usr.bin/make/compat.c
cvs rdiff -r1.32 -r1.33 basesrc/usr.bin/make/job.c
cvs rdiff -r1.53 -r1.54 basesrc/usr.bin/make/main.c
cvs rdiff -r1.23 -r1.24 basesrc/usr.bin/make/make.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.