Is Makefile.inc1 in 6 wrong?

Lars Eighner eighner at io.com
Tue Apr 4 21:34:17 UTC 2006


On Tue, 4 Apr 2006, Jung-uk Kim wrote:

> On Tuesday 04 April 2006 05:14 pm, Lars Eighner wrote:
>> It appears to me that either I have a wrong version of awk or
>> this Makefile.inc1 is wrong:
>>
>> #
>> # $FreeBSD: src/Makefile.inc1,v 1.499.2.11 2006/04/04 14:24:03
>> glebius Exp $ #
>>
>> <Snippage>
>>
>> MAKEOBJDIRPREFIX?=	/usr/obj
>> .if !defined(OSRELDATE)
>> .if exists(/usr/include/osreldate.h)
>> OSRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print
>> $$3 }' \ /usr/include/osreldate.h
>> .else
>> OSRELDATE=	0
>>
>>
>> In particular with the double dollar sign in the awk statement,
>> I get no return, therefore OSRELDATE gets set to 0.  The awk
>> statement also fails from the command line.  But if I use only
>> one $, the awk statement succeeds.
>>
>> Is there a reason for the double dollar sign?
>
> Yes.  See make(1):
>
>    $   A single dollar sign `$', i.e. `$$' expands to a single dollar
>        sign.

Then why does it get the wrong answer?   Also is there a
difference when the accent mark is used in front instead of a
real single quote?


-- 
Lars Eighner
eighner at io.com  lars at larseighner.com
http://www.larseighner.com/index.html
8800 N IH35 APT 1191 AUSTIN TX 78753-5266



More information about the freebsd-stable mailing list