X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2FMakefile;h=e82c172140b278e238931a03b26715f819248c0f;hb=9b79c4c51954ffc46c631e56547ac865860e8855;hp=02ea7c46b48afaa2153ade1e32dc4df084b0876a;hpb=b1150c0fd4792d9d0c9407bb3da5d8e1943514d0;p=sbcl.git diff --git a/doc/manual/Makefile b/doc/manual/Makefile index 02ea7c4..e82c172 100644 --- a/doc/manual/Makefile +++ b/doc/manual/Makefile @@ -7,16 +7,21 @@ PSFILES=sbcl.ps asdf.ps PDFFILES=sbcl.pdf asdf.pdf INFOFILES=sbcl.info asdf.info HTMLDIRS=$(basename $(SBCLTEXI)) $(basename $(ASDFTEXI)) +HTMLFILES=sbcl.html asdf.html # 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/" -I_FLAGS=-I $(DOCSTRINGDIR) -I ../../contrib/ +CONTRIBDIR="../../contrib/" +I_FLAGS=-I $(DOCSTRINGDIR) -I $(CONTRIBDIR) # 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 :sb-bsd-sockets' +MODULES=':sb-md5 :sb-queue :sb-concurrency :sb-rotate-byte :sb-grovel \ + :sb-sprof :sb-bsd-sockets :sb-cover :sb-posix' # 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 :SB-BSD-SOCKETS" +PACKAGES=":COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP \ + :SB-PCL :SB-SYS :SB-SEQUENCE \ + :SB-PROFILE :SB-THREAD :SB-MD5 :SB-QUEUE :SB-ROTATE-BYTE \ + :SB-SPROF :SB-BSD-SOCKETS :SB-COVER :SB-POSIX :SB-CONCURRENCY" # SBCL_SYSTEM is an optional argument to this make program. If this # variable is set, its contents are used as the command line for @@ -30,7 +35,7 @@ ifeq ($(MAKEINFO),) endif ifeq ($(TEXI2PDF),) - TEXI2PDF:=texi2pdf + TEXI2PDF:=texi2dvi -p endif ifeq ($(DVIPS),) @@ -53,8 +58,11 @@ html: html-stamp html-stamp: $(DOCFILES) docstrings @rm -rf $(HTMLDIRS) - $(MAKEINFO) $(I_FLAGS) --html $(SBCLTEXI) - $(MAKEINFO) --html $(ASDFTEXI) + @rm -f $(HTMLFILES) +# $(MAKEINFO) $(I_FLAGS) --html --css-include=style-multi.css $(SBCLTEXI) +# $(MAKEINFO) --html --css-include=style-multi.css $(ASDFTEXI) + $(MAKEINFO) $(I_FLAGS) --html --no-split --css-include=style-single.css $(SBCLTEXI) + $(MAKEINFO) --html --no-split --css-include=style-single.css $(ASDFTEXI) touch html-stamp # Postscript documentation @@ -73,7 +81,7 @@ ps: $(PSFILES) pdf: $(PDFFILES) %.pdf: %.texinfo $(DOCFILES) docstrings - texi2pdf $(I_FLAGS) $< + $(TEXI2PDF) $(I_FLAGS) $< # info docfiles .PHONY: info @@ -83,19 +91,32 @@ info: $(INFOFILES) $(MAKEINFO) $(I_FLAGS) $< # Texinfo docstring snippets -.PHONY: docstrings -docstrings: tempfiles-stamp +# Note: assumes contrib module names are the same as the names of +# directories containing the modules, and that these directories +# are in $(CONTRIBDIR). +CONTRIB_FASLS=$(shell find $(shell echo $(MODULES) | sed "s|:|$(CONTRIBDIR)|g") -name '*.fasl') +docstrings: $(CONTRIB_FASLS) tempfiles-stamp + for module in $(shell echo $(MODULES)); do \ + test -f $(CONTRIBDIR)/`echo $$module | tr -d :`/test-passed \ + || { echo "The documented contrib $$module seems \ + to have failed its tests." && exit 1; } \ + done + DOCSTRINGDIR=$(DOCSTRINGDIR) \ + PACKAGES=$(PACKAGES) \ + MODULES=$(MODULES) \ + sh make-tempfiles.sh "$(SBCL_SYSTEM)" && touch $(DOCSTRINGDIR) tempfiles-stamp: - DOCSTRINGDIR=$(DOCSTRINGDIR) PACKAGES=$(PACKAGES) MODULES=$(MODULES) sh make-tempfiles.sh "$(SBCL_SYSTEM)" && touch tempfiles-stamp - + touch tempfiles-stamp .PHONY: clean -clean: +clean: rm -f *~ *.bak *.orig \#*\# .\#* texput.log *.fasl rm -rf $(HTMLDIRS) $(DOCSTRINGDIR) + rm -f $(HTMLFILES) rm -f contrib-docs.texi-temp rm -f package-locks.texi-temp + rm -f variables.texinfo rm -f $(PSFILES) $(PDFFILES) html-stamp tempfiles-stamp rm -f $(TMPFILES) $(INDEXFILES) rm -f sbcl.info sbcl.info-* asdf.info