C.7. The Top-Level makefile in doc/

This makefile is used to access the whole system. A make all command here will make up all the documentation and put a copy of the distribution files into the doc/distribution/ directory. A call to make empty will clear out all output files from the doc/o directory, and all the Emacs ~ files from all directories. The makefile is located at doc/Makefile.

# This Makefile gives access to the doc/o/Makefile, which generates
# large portions of the documentation.
#
# Each of the "html", "pdf" and "help" targets will generate ALL of
# the books to which that form of output applies.
#
# The "clean" target removes *~, *.log, and *.aux files from
# the doc/o/* directories.
#
# The "fresh" target is for internal use.  It removes the .html, .pdf, ect.
# files so a new make can be done without changing the SGML source.
#
# The "empty" target removes ALL output files.  It leaves CVS/, Makefile,
# main.sgml, and graphics (*.gif and *.pdf) in the doc/o/* directories.
# It also removes the files created in the export/ and distribution/ directories,
# and any *~ files from the doc/i/* directories.  After using this target,
# any desired documentation must be rebuilt.

TARGETS	=	html pdf help4 help6 echo clean fresh 

default:
	@echo
	@echo Please specify a target from: $(TARGETS) empty all
	@echo
	@echo Note: the \"html\", \"pdf\", \"help4\" or \"help6\" targets will take a fair
	@echo amount of time to process.  A \"make all\" will take over an hour.
	@echo
	@echo Warning: The \"empty\" target will remove ALL generated
	@echo documentation, including the distribution copies.
	@echo

$(TARGETS):
	make -C o $@

all:
	make -C o all
	make export

export:
	make -C export all


# WARNING: removes ALL output files
empty:
	make -C o empty
	make -C export empty
	make -C distribution empty
	make -C i purge

.PHONY:	export