# 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
endif
ifeq ($(TEXI2PDF),)
- TEXI2PDF:=texi2pdf
+ TEXI2PDF:=texi2dvi -p
endif
ifeq ($(DVIPS),)
pdf: $(PDFFILES)
%.pdf: %.texinfo $(DOCFILES) docstrings
- texi2pdf $(I_FLAGS) $<
+ $(TEXI2PDF) $(I_FLAGS) $<
# info docfiles
.PHONY: info
$(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:
rm -rf $(HTMLDIRS) $(DOCSTRINGDIR)
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