Is Makefile.inc1 in 6 wrong?

Andrew Reilly andrew-freebsd at areilly.bpc-users.org
Tue Apr 4 23:23:47 UTC 2006


On Tue, Apr 04, 2006 at 05:19:33PM -0500, Lars Eighner wrote:
> I think this is wrong for a SINGLE QUOTED argument to be passed
> to awk.  The Makefile is wrong.  I am right.

Make doesn't care about quotes much at all.  The single-tick
quotes in the awk line are the perfectly normal single tick
quotes that you would use at the command line, and they're there
to prevent the shell from interpreting the backslashes in the
regexp and the curly braces and the dollar sign (which is
"quoted" in the make file by the extra dollar sign).

Or are you using a non-system "make" program by an accident of
your $PATH?  (That seems unlikely: I've not met a make program
that had significantly different quoting conventions.)

> Tue Apr 04 17:11:38 bash3.1:ttyp0:eighner
> goodwill~$make -V OSRELDATE -f /usr/src/Makefile.inc1
> 0

What does "which make" say?

Or, since you seem to be using bash: type make?

> And also in man make.  The ` is an accent key, not a quote key. 

Typographically, `' were often used as matching single quote
pairs, in systems that had to render to ASCII.  You'll almost
certainly find that that man page rendered to postscript has
typographical 69 single quotes.

> Yes, they are aka backticks and do mean something when they are
> paired, but `something' is nonsense so far as I can tell.

Just typography, not computer syntax.

> Why would make tamper with anything in single quotes that is
> passed to a command?

It doesn't, apart from ignoring them altogether.  The only thing
that make tweaks in commands is macro expansions, which are
signalled by ${} or $(), and are why you need $$ to get a single
dollar sign into the shell comand.

> How do you write an argument for a command
> so that make won't tamper with it?

Don't put any make macro expansion operators in it, and don't
put any dollar signs in it.

> What would double quoting
> the argument be for?

Double quotes in make commands are strictly for the shell's
benefit.

Cheers,

-- 
Andrew


More information about the freebsd-stable mailing list