pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

portable make suffix transformation rules



I'm trying to work out how suffix transformation rules for portable make
are intended to work and am asking here because I think the pkgsrc devs
are more likely to be able to point at working examples that I can crib
from or identify where I might be going wrong ...

In this case I'm wanting to render some Graphviz .dot files into
their .svg equivalent but not need to specify all the files and their
dependencies in the directory for make to just Do the Right Thing ...

As a simplistic example I have a directory with one source file as
follows:

|lucy$ ls -1
|Makefile
|network.dot

As I understand it from the man page, the following should work:

|.SUFFIXES: .svg
|.dot.svg:
|        dot -Tsvg ${.IMPSRC} > ${.TARGET}

... yet I'm not sure how I'm meant to call this - if I issue the
following, I get make not populating ${.IMPSRC} as below:

|lucy$ make
|dot -Tsvg  > .dot.svg
|^Cpmake: *** .dot.svg removed
|
|lucy$

If I try to call it with an explicit call for the target, I get

|lucy$ make network.svg
|pmake: don't know how to make network.svg. Stop
|
|pmake: stopped in /home/mjch/projects/diagrams/network
|lucy$ 

If I alter the Makefile and put an explicit dependency in, this stops
the error, but doesn't build the target.

How should this work?

Regards,
Malcolm

-- 
Malcolm Herbert
mjch%mjch.net@localhost


Home | Main Index | Thread Index | Old Index