I think you miss the point.   It's not just about flags.  It's about how 
you do a particular task, which could involve one or more commands (or be 
impossible).

See libtool for an idea of the size of the problem.

--Josh  

At 18:45 on 07/19/2003 EDT, Benjamin Goldberg <[EMAIL PROTECTED]> wrote:

> 
> 
> Josh Wilmes wrote:
> > 
> > At 12:48 on 07/14/2003 +0200, Lars Balker Rasmussen <[EMAIL PROTECTED]> wrote
:
> > 
> > > I've taken this very simple approach to the problem.  A perl-wrapper
> > > for the CC lines in makefiles/root.in
> > >
> > >     .c$(O) :
> > >       $(PERL) tools/dev/cc_flags.pl $(CC) $(CFLAGS) ${cc_o_out}$@ -c $<
> > 
> > I would go a bit further, and create a tools/build/compile, tools/build/
> > link_executable, tools/build/link_library, etc.
> 
> That would be silly.  Instead, specify the file to read the flags from
> as the first argument to cc_flags.pl.  That is, change:
> 
>    if (open F, "CFLAGS") {
> 
> To:
> 
>    if (open F, shift @ARGV) {
> 
> Then:
> 
> c$(O) :
>       $(PERL) tools/dev/flags.pl CFLAGS $(CC) $(CFLAGS) \
>               ${cc_o_out}$@ -c $<
> 
> And for linking, flags.pl gets an argument of LINKFLAGS, and for making
> a shared library, it gets an argument of SHAREFLAGS, etc..  In each of
> those files are rules for the per-file flags for that type of step.
> 
> > Take all the flags out of the makefile altogether.  Just a thought.
> > 
> > --Josh
> 
> -- 
> $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca
> );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED]
> ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}


Reply via email to