tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make: :: embeded in targets

On Fri, Mar 04, 2011 at 09:01:09AM +0200, Alan Barrett wrote:
> On Thu, 03 Mar 2011, Simon J. Gerraty wrote:
> >The patch below, allows something like:
> >
> >all: silly::target
> >silly::target:
> >     @echo hi
> >
> >to work, instead of saying
> >
> >make: don't know how to make silly::target. Stop
> Hmm, but it will break this:
> all:foo
> foo:
>       @echo hi
> Perhaps some sort of backslash escaping or variable substitution 
> could be used?  (silly\:\:target or silly${COLON}${COLON}target).

There are a sholw load of characters that make really doesn't like
in filenames (and other places).
Since make doesn't generally support any form of character escaping
(there are a few very specific places where \ has been used) I don't
think it is worth adding the expectation that \ escapes the 2nd char.
Using variables to avoid syntax problems is better.

If you look at the symbol table after some pkgsrc scripts make
files have run you'll see things that are not really intended.
Amongst other thing variable names where the last char is '\'.


David Laight:

Home | Main Index | Thread Index | Old Index