From owner-freebsd-hackers Sat Jun 1 2:26:39 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from w250.z064001178.sjc-ca.dsl.cnc.net (adsl-66.218.45.239.dslextreme.com [66.218.45.239]) by hub.freebsd.org (Postfix) with SMTP id CAE0237B406 for ; Sat, 1 Jun 2002 02:26:33 -0700 (PDT) Received: (qmail 11582 invoked by uid 1000); 1 Jun 2002 09:26:55 -0000 Date: Sat, 1 Jun 2002 02:26:33 -0700 From: Jos Backus To: Terry Lambert Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Improving GNU make compatibility in BSD make (+ patch) Message-ID: <20020601092655.GC10523@lizzy.catnook.com> Reply-To: jos@catnook.com Mail-Followup-To: Terry Lambert , freebsd-hackers@FreeBSD.ORG References: <20020531024250.GA90997@lizzy.catnook.com> <3CF73679.A5AB7886@mindspring.com> <20020531170746.GA93242@lizzy.catnook.com> <3CF7EDC5.CF27B997@mindspring.com> <20020601015343.GA1132@lizzy.catnook.com> <3CF8825A.E05C65AC@mindspring.com> <20020601082419.GA10523@lizzy.catnook.com> <3CF887D7.27BBFAE5@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3CF887D7.27BBFAE5@mindspring.com> User-Agent: Mutt/1.3.99i 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 On Sat, Jun 01, 2002 at 01:37:43AM -0700, Terry Lambert wrote: > Jos Backus wrote: > > I hope you don't see any problems with generally improving compatibility > > between the two? > > As long as any changes do not conflict with OpenBSD "make", NetBSD > "make", BSDi "make", Darwin "make", or "OP make". Well, you are saying that some BSD make out there uses $^ so that pretty much rules out changing it. > It's a lot easier to change gmake, I think... It took me about the same amount of time to create both patches... > I think "OP make" is most important: > > http://openpackages.org/ You could buddy this patch for me :-) Index: generate.c =================================================================== RCS file: /cvs/op/tools/make/generate.c,v retrieving revision 1.7 diff -u -r1.7 generate.c --- generate.c 2001/07/03 14:23:10 1.7 +++ generate.c 2002/06/01 09:04:22 @@ -40,6 +40,7 @@ M(TARGET), M(OODATE), M(ALLSRC), + M(GALLSRC), M(IMPSRC), M(PREFIX), M(ARCHIVE), Index: var.c =================================================================== RCS file: /cvs/op/tools/make/var.c,v retrieving revision 1.13 diff -u -r1.13 var.c --- var.c 2001/05/29 15:29:24 1.13 +++ var.c 2002/06/01 09:04:23 @@ -144,6 +144,7 @@ MEMBER, OODATE, ALLSRC, + GALLSRC, IMPSRC, FTARGET, DTARGET, @@ -277,6 +278,10 @@ break; case K_ALLSRC % MAGICSLOTS1: if (name[0] == ALLSRC[0] && len == 1) + return ALLSRC_INDEX; + break; + case K_GALLSRC % MAGICSLOTS1: + if (name[0] == GALLSRC[0] && len == 1) return ALLSRC_INDEX; break; case K_IMPSRC % MAGICSLOTS1: Index: var.h =================================================================== RCS file: /cvs/op/tools/make/var.h,v retrieving revision 1.1 diff -u -r1.1 var.h --- var.h 2001/05/29 13:39:59 1.1 +++ var.h 2002/06/01 09:04:23 @@ -65,7 +65,8 @@ #define MEMBER_INDEX 3 #define OODATE_INDEX 4 #define ALLSRC_INDEX 5 -#define IMPSRC_INDEX 6 +#define GALLSRC_INDEX 6 +#define IMPSRC_INDEX 7 extern char *Varq_Value(int, GNode *); extern void Varq_Set(int, const char *, GNode *); extern void Varq_Append(int, const char *, GNode *); Index: var_int.h =================================================================== RCS file: /cvs/op/tools/make/var_int.h,v retrieving revision 1.1 diff -u -r1.1 var_int.h --- var_int.h 2001/05/29 13:39:59 1.1 +++ var_int.h 2002/06/01 09:04:23 @@ -29,6 +29,7 @@ #define TARGET "@" /* Target of dependency */ #define OODATE "?" /* All out-of-date sources */ #define ALLSRC ">" /* All sources */ +#define GALLSRC "^" /* All sources, GNU make style */ #define IMPSRC "<" /* Source implied by transformation */ #define PREFIX "*" /* Common prefix */ #define ARCHIVE "!" /* Archive in "archive(member)" syntax */ -- Jos Backus _/ _/_/_/ Santa Clara, CA _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ jos@catnook.com _/_/ _/_/_/ use Std::Disclaimer; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message