Subject: CVS commit: basesrc/usr.bin/make
To: None <source-changes@netbsd.org>
From: Todd Vierling <tv@netbsd.org>
List: source-changes
Date: 10/31/2001 05:59:43
Module Name: basesrc
Committed By: tv
Date: Wed Oct 31 03:59:43 UTC 2001
Modified Files:
basesrc/usr.bin/make: Makefile main.c make.h parse.c
Log Message:
Overhaul the initialization and handling of .OBJDIR:
* Replace chdir_verify_path() with Main_SetObjdir(), which can be called
externally, and can take a "const char *". (There's a lot of non-const
"char *" passing around in var.c of what should be const strings....)
* Rewrite the initial "find my .OBJDIR" code to make use of the new
function. This still functions as it had in the past, but the comment
above this block was changed to reflect reality: if MAKEOBJDIRPREFIX
or MAKEOBJDIR are set in the environment, then *only that value* is
tried; make does not fall back to obj.MACHINE, obj, and /usr/obj/`pwd`
as it would without these env vars set.
* Add a new special target, .OBJDIR:, which when parsed will cause make to
change to a new object directory and reset .OBJDIR, and PWD in the
environment. This will allow some makefiles (mainly, src/tools)
to override the default objdir semantics in order to add custom logic.
To generate a diff of this commit:
cvs rdiff -r1.24 -r1.25 basesrc/usr.bin/make/Makefile
cvs rdiff -r1.73 -r1.74 basesrc/usr.bin/make/main.c
cvs rdiff -r1.38 -r1.39 basesrc/usr.bin/make/make.h
cvs rdiff -r1.74 -r1.75 basesrc/usr.bin/make/parse.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.