Subject: Re: sanitising make(1) variable overrides
To: None <lukem@cs.rmit.edu.au>
From: Chris G. Demetriou <cgd@netbsd.org>
List: tech-userlevel
Date: 01/25/1999 18:28:50
Luke Mewburn <lukem@cs.rmit.edu.au> writes:
> * we have stuff like NOMAN, NOPIC, NOPROFILE, NOSHARE, etc. the problem
> with these is that if you you have NOMAN=yes in /etc/mk.conf you can't
> override it from the command line.
It's a known bug that these work the way that they do.
> * i find LDSTATIC annoying because to link static programs i have to
> do `make LDSTATIC=-static', rather than `make STATIC=' or whatever.
> having the ability to define the flag to like statically is fine,
> but requiring that to be explicitly defined is painful.
don't forget that LDSTATIC is a tristate switch.
-static compile everything statically
"" compile everything dynamically
not set compile with the defaults (a mix of both)
> * add MKMAN, MKPIC, MKPROFILE, MKSHARE which can be either `yes' or `no'.
> this is so make can do
> .if ($MKMAN != "yes")
> or whatever, and know it always works. the *.mk files can check these
> settings for sanity as well.
>
> * set the above appropriately if NOMAN, NOPIC, ... is set at all,
> and deprecate use of these in the tree. we still support them
> anyway. maybe print a warning if they are used.
>
> * add support for MKCATPAGES, MKSTATIC (which uses LDSTATIC iff necessary)
That all is the way to go.
I'm pretty sure that a couple of years ago i started hacking things in
that direction, and maybe even gave somebody diffs... (i think they
might have been along with some diffs i sent to perry and/or others
re: support for automatically building debugging-symbol versions of
the libraries, as well.)
I doubt you'd find those diffs useful, but i mention it as a very
strong statement of "this is the right way to go."
cgd
--
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.