Graphviz用Makefileで、.gvファイルの処理を追加
authorj8takagi <j8takagi@nifty.com>
Wed, 6 Nov 2013 14:58:53 +0000 (23:58 +0900)
committerj8takagi <j8takagi@nifty.com>
Wed, 6 Nov 2013 14:58:53 +0000 (23:58 +0900)
dot_mk/Makefile
dot_mk/gv.mk [new file with mode: 0644]

index 0222921..141b968 100644 (file)
@@ -2,16 +2,17 @@
 # ターゲットファイルとして指定
 #
 # 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
diff --git a/dot_mk/gv.mk b/dot_mk/gv.mk
new file mode 100644 (file)
index 0000000..8842ae7
--- /dev/null
@@ -0,0 +1,22 @@
+.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))