From owner-freebsd-hackers Fri May 31 21:46:10 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by hub.freebsd.org (Postfix) with ESMTP id B61DB37B401 for ; Fri, 31 May 2002 21:46:07 -0700 (PDT) Received: (from dan@localhost) by dan.emsphone.com (8.12.2/8.12.3) id g514k3FJ090805; Fri, 31 May 2002 23:46:03 -0500 (CDT) (envelope-from dan) Date: Fri, 31 May 2002 23:46:03 -0500 From: Dan Nelson To: Jos Backus Cc: Julian Elischer , freebsd-hackers@FreeBSD.ORG Subject: Re: Improving GNU make compatibility in BSD make (+ patch) Message-ID: <20020601044603.GD91922@dan.emsphone.com> References: <20020601015343.GA1132@lizzy.catnook.com> <20020601025457.GA1457@lizzy.catnook.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020601025457.GA1457@lizzy.catnook.com> User-Agent: Mutt/1.3.99i X-OS: FreeBSD 5.0-CURRENT X-message-flag: Outlook Error Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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