# ターゲットファイルとして指定
#
# make および make all でのターゲットファイルになるほか、
-# dot-distcleanでの削除対象になる。
+# distcleanでの削除対象になる。
#
# 初期設定では、ディレクトリにあるすべての
-# dotファイルに対するpdfファイル
-TARGETS := $(subst .dot,.pdf,$(wildcard *.dot))
+# dot/gvファイルに対するpdfファイル
+TARGETS := $(subst .dot,.pdf,$(wildcard *.dot)) $(subst .gv,.pdf,$(wildcard *.gv))
.PHONY: all clean distclean
all: $(TARGETS)
include dot.mk
+include gv.mk
-distclean: dot-distclean
+distclean: dot-distclean gv-distclean
--- /dev/null
+.PHONY: gv-clean gv-distclean
+
+DOT := dot
+DOTFLAG :=
+PSTOPDF := pstopdf
+
+%.pdf: %.ps
+ $(PSTOPDF) $<
+
+%.ps: %.gv
+ $(DOT) $(DOTFLAG) -Tps $< -o $@
+
+%.png: %.gv
+ $(DOT) $(DOTFLAG) -Tpng $< -o $@
+
+%.svg: %.svg.gv
+ $(DOT) $(DOTFLAG) -Tsvg $< -o $@
+
+gv-clean:
+
+gv-distclean: gv-clean
+ $(RM) $(subst .gv,.pdf,$(wildcard *.gv)) $(subst .gv,.png,$(wildcard *.gv)) $(subst .gv,.svg,$(wildcard *.gv)) $(subst .gv,.ps,$(wildcard *.gv))