1.0.13.20: added SB-EXT:*EXIT-HOOKS*
[sbcl.git] / doc / manual / Makefile
index 45f89ea..4d07799 100644 (file)
@@ -11,12 +11,12 @@ HTMLDIRS=$(basename $(SBCLTEXI)) $(basename $(ASDFTEXI))
 # 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-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-PROFILE :SB-THREAD :SB-MD5 :SB-ROTATE-BYTE :SB-SPROF :SB-BSD-SOCKETS :SB-COVER :SB-POSIX"
 
 # 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 +30,7 @@ ifeq ($(MAKEINFO),)
 endif
 
 ifeq ($(TEXI2PDF),)
-  TEXI2PDF:=texi2pdf
+  TEXI2PDF:=texi2dvi -p
 endif
 
 ifeq ($(DVIPS),)
@@ -73,7 +73,7 @@ ps: $(PSFILES)
 pdf: $(PDFFILES)
 
 %.pdf: %.texinfo $(DOCFILES) docstrings
-       texi2pdf $(I_FLAGS) $<
+       $(TEXI2PDF) $(I_FLAGS) $<
 
 # info docfiles
 .PHONY: info
@@ -83,12 +83,16 @@ 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 -e $(CONTRIBDIR)/$${module#:}/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: