[comp.unix.questions] Help w/BSD 4.2 Makefile

flak@slovax.UUCP (06/16/87)

I need help in setting up a Makefile in BSD 4.2.

What I am attempting to do, is take a file with a ".r" suffix and
run it through a process to convert it into a file with no suffix
The obvious thing to do is:

# ======================
.SUFFIXES:	.r

.r:
	process $*.r > $*
# ======================

This works in SYS V, but in BSD 4.2, "make foo" (given foo.r exists)
yields: "Make:  Don't know how to make foo.  Stop."

Anyone have a clean solution to this?
-- 
{psivax,ism780}!logico!slovax!flak  :  {hplsla,uw-beaver}!tikal!slovax!flak
Dan Flak-R & D Associates,3625 Perkins Lane SW,Tacoma,Wa 98466,206-581-1322

rsalz@Diamond.BBN.COM (Rich Salz) (06/17/87)

In comp.unix.questions (<463@slovax.UUCP>), flak@slovax.UUCP (Dan Flak) writes:
>
>What I am attempting to do, is take a file with a ".r" suffix and
>run it through a process to convert it into a file with no suffix

You can't.  The concept of single-suffix rules were added by AT&T in
SystemV (version 1, even, I believe).  The code to do it is fairly simple --
a couple-dozen lines added to the doname() routine.  Don't ask me for
them; if you think about it, it'd be illegal for me to post a diff.

If you want to do that in BSD, then you either have to port a System V
make (and buy source, if you don't already have that).  The AT&T Toolchest
sells a "new make" described in the Portland Usenix proceedings that
does this, and more.  But be warned:  nmake isn't the make we all know
and love:  it's a much more complicated beastie.

[ Yow, what's my punctuation ratio? ]
	/r$
-- 
Rich $alz					"Anger is an energy"
Cronus Project, BBN Laboratories		rsalz@pineapple.bbn.com