[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