From owner-freebsd-hackers Fri May 31 14:41: 8 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from hawk.mail.pas.earthlink.net (hawk.mail.pas.earthlink.net [207.217.120.22]) by hub.freebsd.org (Postfix) with ESMTP id 1061337B407 for ; Fri, 31 May 2002 14:41:03 -0700 (PDT) Received: from pool0324.cvx40-bradley.dialup.earthlink.net ([216.244.43.69] helo=mindspring.com) by hawk.mail.pas.earthlink.net with esmtp (Exim 3.33 #2) id 17Du8k-0000nw-00; Fri, 31 May 2002 14:40:55 -0700 Message-ID: <3CF7EDC5.CF27B997@mindspring.com> Date: Fri, 31 May 2002 14:40:21 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: jos@catnook.com Cc: freebsd-hackers@freebsd.org Subject: Re: Improving GNU make compatibility in BSD make (+ patch) References: <20020531024250.GA90997@lizzy.catnook.com> <3CF73679.A5AB7886@mindspring.com> <20020531170746.GA93242@lizzy.catnook.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 Jos Backus wrote: > On Fri, May 31, 2002 at 01:38:17AM -0700, Terry Lambert wrote: > > The biggest problem with GNU make that I've seen is re-expansion > > of variable variables. > > > > The suggested fix doesn't address that, so it won't fix the most > > common "compatability problem". > > So what? It fixes (in a backward-compatible way because ``$^'' isn't used in > BSD make) one incompatibility without which I have to have two different > Makefiles in the simple case I am thinking about. It's at least an incremental > improvement that doesn't break anything afaIcs. 1) Please see the references I cited. I believe "$^" is used in a BSD make, even if it's not in the FreeBSD make, and that in a future version of FreeNSD make, it ought to have the function of the BSD make that uses it, not GNU make. 2) I am not comfortable with changing FreeBSD make into GNU make. 3) I am not comfortable adding features to FreeBSD make which render makefiles, which are then written to use these newly added features, non-portable to other BSD systems. 4) There are *already* enough cases where people have written "sh" scripts with "bash" syntax, so that they *claim* they are "sh" scripts, but are in fact "bash" scripts. I would hate to see the same thing happen to "makefiles" to turn them into "gmakefiles". 5) What you've added is a synonym for something that's already there; it is better to change the makefile to use the existing syntax, then it is to change the "make" to add new syntax. 6) What are you going to do, when you need to compile on Solaris? 7) What are you going to do when you need to compile on AIX? 8) How is "make" different from "cc" or "tar"? If we are going to add the features, why not "just use GNU make instead"? 9) Why not "just use Linux instead"? That last is a reductio ad absurdum... but I really don't see what making this change accomplishes, other than making FreeBSD "toe the GNU line". -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message