better encapsulation support in generic functions
[sbcl.git] / doc / internals / Makefile
index a620b84..1677a14 100644 (file)
@@ -1,6 +1,10 @@
-.PHONY: top info clean all
+ifeq ($(TEXI2PDF),)
+  TEXI2PDF:=texi2dvi -p
+endif
 
-all: info pdf
+.PHONY: top clean html all
+
+all: sbcl-internals.pdf sbcl-internals.info
 
 top:
        sh make-top.sh
@@ -8,10 +12,32 @@ top:
 info: top
        makeinfo sbcl-internals.texinfo
 
-pdf: top
-       texi2pdf sbcl-internals.texinfo
+%.eps: %.dot
+       dot -Tps -Gsize="5,5" -Gratio=compress -Gconcentrate=true $< > $@
 
-clean: 
-       rm -f *.include *.info *.pdf *~ *.cp *.fn *.ky *.log *.pg *.toc \
-               *.tp *.vr *.aux
+%.png: %.dot
+       dot -Tpng -Gsize="5,5" -Gratio=compress -Gconcentrate=true $< > $@
+
+%.txt: %.dot
+       # FIXME.
+       dot -Tcanon $< > $@
+
+%.pdf: %.eps
+       epstopdf $< > $@
 
+sbcl-internals.pdf: top $(patsubst %.dot,%.pdf,$(wildcard *.dot)) *.texinfo
+       $(TEXI2PDF) sbcl-internals.texinfo
+
+sbcl-internals.info: top $(patsubst %.dot,%.txt,$(wildcard *.dot)) *.texinfo
+
+html: html-stamp
+
+html-stamp: top $(patsubst %.dot,%.png,$(wildcard *.dot)) *.texinfo
+       makeinfo --html sbcl-internals.texinfo 
+       # FIXME
+       cp -f *.png sbcl-internals
+       touch html-stamp
+clean: 
+       rm -rf *.include *.info *.pdf *~ *.cp *.fn *.ky *.log *.pg *.toc \
+               *.tp *.vr *.aux *.eps *.png *.dvi *.ps *.txt *.fns \
+               html-stamp sbcl-internals/