Is Makefile.inc1 in 6 wrong?

Jung-uk Kim jkim at FreeBSD.org
Tue Apr 4 21:26:37 UTC 2006


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.

Jung-uk Kim


More information about the freebsd-stable mailing list