cvs commit: src/usr.bin/make main.c var.c var.h

Harti Brandt hartmut.brandt at dlr.de
Tue May 10 23:31:12 PDT 2005


On Tue, 10 May 2005, Alfred Perlstein wrote:

AP>What about a flag/variable that if set enables "full POSIX mode"?

Make is expected to be POSIX if the first non-empty line in the Makefile 
looks like:

.POSIX:

, the Makefile is syntactically correct (with regard to the description in 
Posix, not make(1)) and if it doesn't use any \.[A-Z]+ target names 
besides those in the standard. So, except for the command line parsing,
it is possible to get POSIX behaviour (it doesn't work yet though, but 
we're working on it). With regard to a flag/variable I would like, at some 
point, to re-start the discussion about making a Posix option available 
for all Posix-tools in some common way (ls, ...). Make would then be just 
one of them.

harti

AP>
AP>* Hartmut Brandt <harti at FreeBSD.org> [050510 01:06] wrote:
AP>> harti       2005-05-10 08:06:13 UTC
AP>> 
AP>>   FreeBSD src repository
AP>> 
AP>>   Modified files:
AP>>     usr.bin/make         main.c var.c var.h 
AP>>   Log:
AP>>   Make make a little bit more POSIXish with regard to option parsing:
AP>>   take everything after -- as either a macro assignment or a target.
AP>>   Note that make still reorders arguments before --: anything starting
AP>>   with a dash is considered an option, anything which contains an equal
AP>>   sign is considered a macro assignment and everything else a target.
AP>>   This still is not POSIX with regard to the options, but it will probably
AP>>   not change because it has been make's behaviour for ages.
AP>>   Add a new function Var_Match() that correctly skips a macro call by just
AP>>   doing the same as Var_Subst() but without producing output. This will help
AP>>   making the parser more robust.
AP>>   
AP>>   Patches:        7.190,7.191
AP>>   Submitted by:   Max Okumoto <okumoto at ucsd.edu>
AP>>   
AP>>   Revision  Changes    Path
AP>>   1.138     +18 -4     src/usr.bin/make/main.c
AP>>   1.147     +45 -8     src/usr.bin/make/var.c
AP>>   1.19      +1 -0      src/usr.bin/make/var.h
AP>
AP>


More information about the cvs-all mailing list