Teach the doc tree how to convert PIC diagrams to PNG and EPS files
in a OBJDIR-friendly way.
This commit is contained in:
parent
3f744276ed
commit
d5a4400b57
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=12063
1 changed files with 16 additions and 5 deletions
|
@ -50,18 +50,22 @@
|
|||
_IMAGES_PNG= ${IMAGES:M*.png}
|
||||
_IMAGES_EPS= ${IMAGES:M*.eps}
|
||||
_IMAGES_SCR= ${IMAGES:M*.scr}
|
||||
_IMAGES_PIC= ${IMAGES:M*.pic}
|
||||
|
||||
IMAGES_GEN_PNG= ${_IMAGES_EPS:S/.eps$/.png/}
|
||||
IMAGES_GEN_EPS= ${_IMAGES_PNG:S/.png$/.eps/}
|
||||
IMAGES_GEN_PDF= ${_IMAGES_EPS:S/.eps$/.pdf/}
|
||||
IMAGES_SCR_PNG= ${_IMAGES_SCR:S/.scr$/.png/}
|
||||
IMAGES_SCR_EPS= ${_IMAGES_SCR:S/.scr$/.eps/}
|
||||
IMAGES_PIC_PNG= ${_IMAGES_PIC:S/.pic$/.png/}
|
||||
IMAGES_PIC_EPS= ${_IMAGES_PIC:S/.pic$/.eps/}
|
||||
|
||||
CLEANFILES+= ${IMAGES_GEN_PNG} ${IMAGES_GEN_EPS} ${IMAGES_GEN_PDF}
|
||||
CLEANFILES+= ${IMAGES_SCR_PNG} ${IMAGES_SCR_EPS}
|
||||
CLEANFILES+= ${IMAGES_PIC_PNG} ${IMAGES_PIC_EPS}
|
||||
|
||||
IMAGES_PNG= ${_IMAGES_PNG} ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG}
|
||||
IMAGES_EPS= ${_IMAGES_EPS} ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS}
|
||||
IMAGES_PNG= ${_IMAGES_PNG} ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG} ${IMAGES_PIC_PNG}
|
||||
IMAGES_EPS= ${_IMAGES_EPS} ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS} ${IMAGES_PIC_EPS}
|
||||
|
||||
.if ${.OBJDIR} != ${.CURDIR}
|
||||
LOCAL_IMAGES= ${IMAGES:S|^|${.OBJDIR}/|}
|
||||
|
@ -81,8 +85,8 @@ LOCAL_IMAGES_PNG= ${_IMAGES_PNG}
|
|||
LOCAL_IMAGES_EPS= ${_IMAGES_EPS}
|
||||
.endif
|
||||
|
||||
LOCAL_IMAGES_PNG+= ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG}
|
||||
LOCAL_IMAGES_EPS+= ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS}
|
||||
LOCAL_IMAGES_PNG+= ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG} ${IMAGES_PIC_PNG}
|
||||
LOCAL_IMAGES_EPS+= ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS} ${IMAGES_PIC_EPS}
|
||||
|
||||
# The default resolution eps2png (82) assumes a 640x480 monitor, and is too
|
||||
# low for the typical monitor in use today. The resolution of 100 looks
|
||||
|
@ -109,7 +113,7 @@ PS2EPS?= ${PREFIX}/bin/ps2epsi
|
|||
PIC2PS?= ${GROFF} -p -S -Wall -mtty-char -man
|
||||
|
||||
# Use suffix rules to convert .scr files to .png files
|
||||
.SUFFIXES: .scr .png .eps
|
||||
.SUFFIXES: .scr .pic .png .eps
|
||||
|
||||
.scr.png:
|
||||
${SCR2PNG} ${SCR2PNGOPTS} < ${.IMPSRC} > ${.TARGET}
|
||||
|
@ -118,6 +122,13 @@ PIC2PS?= ${GROFF} -p -S -Wall -mtty-char -man
|
|||
${PNGTOPNM} ${PNGTOPNMOPTS} | \
|
||||
${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET}
|
||||
|
||||
.pic.png: ${.TARGET:S/.png$/.eps/}
|
||||
${EPS2PNG} ${EPS2PNGOPTS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
.pic.eps:
|
||||
${PIC2PS} ${.ALLSRC} > ${.TARGET:S/.eps$/.ps/}
|
||||
${PS2EPS} ${.OBJDIR}/${.TARGET:S/.eps$/.ps/} ${.OBJDIR}/${.TARGET}
|
||||
|
||||
# We can't use suffix rules to generate the rules to convert EPS to PNG and
|
||||
# PNG to EPS. This is because a .png file can depend on a .eps file, and
|
||||
# vice versa, leading to a loop in the dependency graph. Instead, build
|
||||
|
|
Loading…
Reference in a new issue