Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 May 2002 23:46:03 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Jos Backus <jos@catnook.com>
Cc:        Julian Elischer <julian@elischer.org>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Improving GNU make compatibility in BSD make (+ patch)
Message-ID:  <20020601044603.GD91922@dan.emsphone.com>
In-Reply-To: <20020601025457.GA1457@lizzy.catnook.com>
References:  <20020601015343.GA1132@lizzy.catnook.com> <Pine.BSF.4.21.0205311855390.29361-100000@InterJet.elischer.org> <20020601025457.GA1457@lizzy.catnook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (May 31), Jos Backus said:
> On Fri, May 31, 2002 at 06:55:54PM -0700, Julian Elischer wrote:
> > On Fri, 31 May 2002, Jos Backus wrote:
> > > Fyi: it appears nobody is really interested in having BSD make
> > > and GNU make converge a little, so I am not going waste any more
> > > time on this.
>
> > what would you want to do?
> 
> BSD make and GNU make use different symbols for .ALLSRC: GNU make
> uses $^ and BSD make uses $>. All my tiny patch to BSD make does is
> have BSD make treat $^ as $>. This fixes the problem of the mktool
> Makefile which with this patch is executed properly by both make's.
> Perhaps there is a better way to achieve this but I don't see it.
> Since BSD make (or OpenBSD make, for that matter) doesn't currently
> use $^ I thought it was a pretty safe and useful change.

That doesn't fix Tru64 make, which uses $> like BSD make, or Solaris
make, which has neither.  In fact, based on this sample, I suggest you
submit a patch to the gmake people adding $>, which obviously is the
defacto standard :)

Automake avoids the issue entirely by simply listing the dependencies
itself, so

> envuidgid: envuidgid.o
> 	$(CC) $(LDFLAGS) -o $@ $^

becomes

> 	$(CC) $(LDFLAGS) -o $@ envuidgid.o

-- 
	Dan Nelson
	dnelson@allantgroup.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020601044603.GD91922>