X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2FMakefile;h=c9b03dd61a75dd24f7b28e83e741a0e53fa0c663;hb=e29e584efdc110f14698801ad1004f9a34a3b448;hp=f3f5c5a10c99a8e9c489c71438cf0ded4023a2b8;hpb=3ff0ba49f86506cd5ad6d5d259fa85a40d83fcb2;p=sbcl.git diff --git a/doc/manual/Makefile b/doc/manual/Makefile index f3f5c5a..c9b03dd 100644 --- a/doc/manual/Makefile +++ b/doc/manual/Makefile @@ -7,7 +7,17 @@ PSFILE=sbcl.ps PDFFILE=sbcl.pdf DVIFILE=sbcl.dvi INFOFILE=sbcl.info -HTMLDIR=sbcl +VARSFILE=variables.template +HTMLDIR=$(basename $(ROOTFILE)) +# Place where generated documentation ends up. The value of +# DOCSTRINGDIR has to end with a slash or you lose (it's passed to +# Lisp's `pathname' function). +DOCSTRINGDIR="docstrings/" +# List of contrib modules that docstring docs will be created for. +# FIXME: should check test-passed and not load them. +MODULES=':sb-md5 :sb-rotate-byte :sb-grovel :sb-sprof' +# List of package names that docstring docs will be created for. +PACKAGES=":COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD :SB-MD5 :SB-ROTATE-BYTE :SB-SPROF" ifeq ($(MAKEINFO),) @@ -29,48 +39,61 @@ all: ps pdf info html dist: html pdf +variables: ${VARSFILE} + ./extract-values.sh < ${VARSFILE} >variables.texinfo - +# html documentation; output in $(HTMLDIR) .PHONY: html html: html-stamp -html-stamp: $(DOCFILES) +html-stamp: variables $(DOCFILES) docstrings @rm -rf $(HTMLDIR) - $(MAKEINFO) --html $(ROOTFILE) + $(MAKEINFO) -I $(DOCSTRINGDIR) --html $(ROOTFILE) touch html-stamp - +# Postscript documentation .PHONY: ps ps: $(PSFILE) $(PSFILE): $(DVIFILE) dvips -o $@ $< -$(DVIFILE): $(DOCFILES) - texi2dvi $(ROOTFILE) - +$(DVIFILE): variables $(DOCFILES) docstrings + texi2dvi -I $(DOCSTRINGDIR) $(ROOTFILE) +# PDF documentation .PHONY: pdf pdf: $(PDFFILE) -$(PDFFILE): $(DOCFILES) - texi2pdf $(ROOTFILE) - +$(PDFFILE): variables $(DOCFILES) docstrings + texi2pdf -I $(DOCSTRINGDIR) $(ROOTFILE) +# info docfiles .PHONY: info info: $(INFOFILE) -$(INFOFILE): $(DOCFILES) - $(MAKEINFO) $(ROOTFILE) +$(INFOFILE): variables $(DOCFILES) docstrings + $(MAKEINFO) -I $(DOCSTRINGDIR) $(ROOTFILE) + +# contrib-modules.texinfo includes contrib-doc-list.texi-temp +contrib-modules.texinfo: tempfiles-stamp + +# Texinfo docstring snippets +.PHONY: docstrings +docstrings: tempfiles-stamp +tempfiles-stamp: + DOCSTRINGDIR=$(DOCSTRINGDIR) PACKAGES=$(PACKAGES) MODULES=$(MODULES) sh make-tempfiles.sh && touch tempfiles-stamp .PHONY: clean clean: - rm -f *~ *.bak *.orig \#*\# .\#* texput.log - rm -rf $(HTMLDIR) - rm -f $(PSFILE) $(PDFFILE) $(DVIFILE) html-stamp - rm -f $(TMPFILES) + rm -f *~ *.bak *.orig \#*\# .\#* texput.log *.fasl + rm -rf $(HTMLDIR) $(DOCSTRINGDIR) + rm -f contrib-docs.texi-temp + rm -f package-locks.texi-temp + rm -f $(PSFILE) $(PDFFILE) $(DVIFILE) html-stamp tempfiles-stamp + rm -f $(TMPFILES) contrib-doc-list.texi-temp rm -f sbcl.info sbcl.info-* .PHONY: distclean