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
                          _/  _/   _/
                         _/  _/_/_/             
                    _/  _/  _/    _/
[EMAIL PROTECTED]     _/_/   _/_/_/            use Std::Disclaimer;

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to