[vox-tech] make question - pattern rule
vox-tech@lists.lugod.org
vox-tech@lists.lugod.org
Tue, 29 Oct 2002 23:15:53 -0500
On Tue, Oct 29, 2002 at 04:31:08PM -0800, Peter Jay Salzman wrote:
> begin Mark K. Kim <markslist@cbreak.org>
> > On Tue, 29 Oct 2002, Peter Jay Salzman wrote:
> > > I'd like to replace all the "postscript/blah.pdf" rules with a pattern
> > > rule, but i'm stuck. here's what i tried:
> > >
> > > %.pdf : %.tex
> > > cd postscript; latex $<; dvips -E
I don't have time to go into many details, but your dependency approach
isn't right. there is a intermediary file format that you are wisking
away... something like this solves you're need to magically change the
names... and provides a route to edit the .dvi file with other tools,
but still get the new pdf's.
===
%.dvi: %.tex
cd postscript; latex %<;
%.pdf: %.dvi
cd postscript; dvips -E $< > $@
===
ps: I also think the "cd postscript" stuff should go away but I'd need to
see more details to suggest how.
Another approach would be using make patsubst rules, which you can read
more about in the extensive make.info pages. But I would need to play with
this to get syntax right... this is just a reference for how patsubst works.
===
PFILES := ${wildcard *.pdf}
TFILES := ${patsubst %.pdf,%.tex,${PFILES}}
===
Later,
Mike