[comp.unix.questions] make and RCS. was RCS and SCCS

egisin@watmath.waterloo.edu (Eric Gisin) (07/04/88)

In article <16366@brl-adm.ARPA>, rbj@cmr.icst.nbs.gov writes:
> It is rumored that some people (ok, I give, U of Md. among others) have
> hacked make to understand RCS, altho to what level , I don't know.
> Maybe someone with initials ACT will clear this up. :-)
You don't have to (shouldn't) "hack up" make to do this, see below.
> 
> Finally, there is GNU make, which recognizes prefixes as well as suffixes,
> in a totally new (gnu?) way. I have it but haven't used it yet.
> 
Both GNU and SUN make have '%' pattern rules.  I think you can say
	%: RCS/%,v
		co $@
The % on the LHS matches anything, the % on the RHS is replaced
with whatever the LH % matched.
Who invented this?  Could someone try to get P1003.2 to adopt this?

mcgrath@rosemary.Berkeley.EDU.berkeley.edu (Roland McGrath) (07/05/88)

["make and RCS. was RCS and SCCS"] - egisin@watmath.waterloo.edu (Eric Gisin):
) > Finally, there is GNU make, which recognizes prefixes as well as suffixes,
) > in a totally new (gnu?) way. I have it but haven't used it yet.
) Both GNU and SUN make have '%' pattern rules.  I think you can say
) 	%: RCS/%,v
) 		co $@
) The % on the LHS matches anything, the % on the RHS is replaced
) with whatever the LH % matched.
) Who invented this?  Could someone try to get P1003.2 to adopt this?

We're not exactly sure who invented it.  I don't know where we got it
from, but it was somewhere.  Their I nor RMS (we wrote GNU Make)
invented it.

You can indeed say that.  In fact it's a default implicit rule.  Also,
because of rule chaining, a feature we invented for GNU Make, you can
say "make foo" with no makefile and get:
	co RCS/foo.c,v foo.c
	cc  foo.c -o foo
	rm -f foo.c
There a ways to tell it not to remove the intermediate file.

Well, enough of hyping GNU Make. :-)

I have not heard of Sun's Make doing anything of the kind.  What
version are you using?

	Roland McGrath

roland@wheaties.ai.mit.edu, mit-eddie!wheaties.ai.mit.edu!roland

guy@gorodish.Sun.COM (Guy Harris) (07/05/88)

> We're not exactly sure who invented it.  I don't know where we got it
> from, but it was somewhere.

Stu Feldman, author of the original "make", probably; I think he discussed it
at a talk here, and the authors of the "SunPro make" (the optional "make" in
SunOS 3.5 and later, and the standard "make" in 4.0) picked it up from there.

> I have not heard of Sun's Make doing anything of the kind.  What
> version are you using?

Well, now you have.  Presumably, they're using the "SunPro make" version.

andrew@alice.UUCP (07/06/88)

the % style metarules come from stu feldman in a version of make that was
first released as the make for research unix, version 8.
it is also the style supported by mk.

as for the claim that gnu invented rule chaining, it is hard to believe.
i may have this wrong but i thought rule chaining simply meant doing
transitive closure over rules; if this is the case then mk has been doing
it for three years.