SCM Repository
View of /XEmacs/xemacsweb/Makefile
Parent Directory
|
Revision Log
Revision 1.63 -
(download)
(annotate)
Thu Dec 10 23:38:09 2009 UTC (3 years, 5 months ago) by apa-guest
Branch: MAIN
CVS Tags: HEAD
Changes since 1.62: +7 -5 lines
Thu Dec 10 23:38:09 2009 UTC (3 years, 5 months ago) by apa-guest
Branch: MAIN
CVS Tags: HEAD
Changes since 1.62: +7 -5 lines
Subject: [PATCH] xemacsweb: turn validation on, partial Documentation/Makefile update
# -*-Makefile-*- Begin of xemacsweb Makefile # # Adrian Aichner (APA), aichner@ecf.teradyne.com, Teradyne GmbH, 2000-07-29. # Stephen Turnbull (stephen), stephen@xemacs.org, 2008-02-02 # # xemacsweb makefile for UNIX and Windows NT. # Requires GNU make, available on Windows NT via Cygwin and MSYS. # (This Makefile uses immediately-expanded assignments in an essential way.) # # Supported targets: # # all: same as validate [default target] # everything: validate + namazu-re-index + Download/win32 # validate: htdocs + validation of all .html files using XEmacs/PSGML # htdocs: creation of .html from .content files using genpage # linklint: run linklint on the tree, including remote links # namazu-re-index: run the namazu indexer on the tree # Documentation: make HTML documents from XEmacs 21.5 sources # Download/win32: update Win32 download information ################ Override variables in Local.rules. ################ ################ No user-serviceable parts below. ################ .SUFFIXES: # Delete the default suffixes .SUFFIXES: .content .html .el .elc # Define our suffix list .PHONY: namazu-re-index linklint Documentation Download/win32 XEMACS_WEBSITE_BASE := $(shell pwd) # Prune directories where we won't find .content files # or HTML files requiring validation. PRUNE_GENPAGE := -path ./genpage -prune PRUNE_LINKLINT := -path "./linklint*" -prune PRUNE_215_TEXI := -path ./Documentation/21.5/html -prune PRUNE_PKG_TEXI := -path ./Documentation/packages/html -prune PRUNES := $(PRUNE_GENPAGE) -o $(PRUNE_LINKLINT) PRUNES := \( $(PRUNES) -o $(PRUNE_215_TEXI) -o $(PRUNE_PKG_TEXI) \) # Define collections of files to process. # These must be recursively-expanded variables. FIND is defined in Local.rules. CONTENT_FILES = $(shell $(FIND) . $(PRUNES) -o -name "*.content" -print) GENERATED_HTML_FILES = $(CONTENT_FILES:.content=.html) VALIDATE_HTML_FILES = $(shell $(FIND) . $(PRUNES) -o -name "*.html" -print) $(GENERATED_HTML_FILES) # Some prerequisites we use. GENPAGE_CONF := "genpage.conf" ELCS := batch-psgml-validate.elc release-mail-to-html.elc # Include the sanity checks and default program locations. include Local.rules.mk # Include any local overrides specified by the user. -include Local.rules # Targets # Default target; must come before other targets but after Local.rules. # all: validate # Just generate .html from .content without validate until validation # is working incrementally again. # APA: Must touch $(STAMPS)/htdocs as well since validation updates # dependencies of $(STAMPS)/htdocs all: validate namazu-re-index everything: validate Download/win32 namazu-re-index validate: htdocs $(ELCS) $(STAMPS)/validate htdocs: $(STAMPS)/htdocs namazu-re-index: $(STAMPS)/namazu-re-index # APA: Run linklint on the local working directory tree, including # remote link checking (-net). # Use -output_index site so that all files are reachable in directory # and not hidden by index.html, which does not reference url*.html # files. linklint: $(LINKLINT) $(LINKLINT_CASE) -docbase http://www.xemacs.org \ -net -limit 0 -db3 /@ -doc $(LINKLINT_OUTDIR) \ $(LINKLINT_IGNORESET) -output_index site -timeout 30 # APA: To be run after initial checkout of module. # Create directory for commit logs. # Create compatibility link faq. # configure and build Texi2html. # APA: Build the genpage documentation. Maintain a timestamp to avoid # needless re-generation of genpage release documentation. # APA: The genpage/content/index.content is not the only dependency, # but any improvements should go into the genpage/Makefile itself and # be integrated with a genpage release. init: if test ! -d $(STAMPS); then \ $(MKDIR) $(STAMPS); \ fi; if test ! -d logs; then \ mkdir logs; \ fi; if test ! -d $(LINKLINT_OUTDIR); then \ mkdir $(LINKLINT_OUTDIR); \ fi; if test ! -e faq; then \ ln -s FAQ faq; \ fi; cd genpage; $(MAKE) gp cd Texi2html; bash configure; make cd FAQ; $(MAKE) # APA: When contentdir and outputdir are the same then, and only then, # genpage depends only on content files. Copying of all other files # (from contentdir to outputdir) is not necessary in this case. # See $(GENPAGE_CONF). $(STAMPS)/htdocs: $(CONTENT_FILES) \ template.html \ template-de.html \ template-ja.html \ Releases/core-stable.txt \ Releases/core-beta.txt \ Releases/packages-official.txt \ Releases/packages-pre-release.txt \ Download/win32/netinstall-win32.txt \ Download/win32/innosetup-win32.txt \ Download/win32/installshield-win32.txt perl ./genpage/bin/genpage -p $(GENPAGE_CONF) -o "." touch $(STAMPS)/htdocs # APA: Validate only files younger than time-stamp file created by # previous validation # See batch-psgml-validate.el for details, in particular ... # (defun batch-psgml-validate (&optional file-or-dir) # (defun batch-psgml-validate-file (file &optional insert-result indent) # (defun batch-psgml-validate-buffer (&optional insert-result indent) # stephen: $(VALIDATE_HTML_FILES) *must* be evaluated when Make creates # its dependency graph, so that will happen before htdocs is made in the # toplevel make. So we use a recursive make to ensure that htdocs has # already made all the needed HTML by the time the arguments to # batch-psgml-validate are computed. # The conditional is to avoid doing the find in the toplevel make. # APA: Must touch $(STAMPS)/htdocs as well since validation updates # dependencies of $(STAMPS)/htdocs $(STAMPS)/validate: $(VALIDATE_HTML_FILES) rm -f VALIDATE_HTML_FILES.txt touch VALIDATE_HTML_FILES.txt for i in $?; do \ echo $$i >> VALIDATE_HTML_FILES.txt; \ done cat VALIDATE_HTML_FILES.txt | xargs --max-chars=1000 $(XEMACS) \ $(FLAGS) -l ./batch-psgml-validate.elc -f batch-psgml-validate touch $(STAMPS)/validate # PB: target for rebuilding the namazu index # APA: Touch index.html for index template files to be re-generated. # www.xemacs.org has a patched mknmz that will update index files, # unless they are newer than the associated template. # APA: Must touch $(STAMPS)/... as well since indexing updates # dependencies of $(STAMPS)/... $(STAMPS)/namazu-re-index: $(VALIDATE_HTML_FILES) touch index.html if test -n "$(NAMAZU_INDEX_DIR)" -a -d "$(NAMAZU_INDEX_DIR)"; then \ $(MKNMZ) --output-dir=$(NAMAZU_INDEX_DIR) . ; \ fi; touch $(STAMPS)/namazu-re-index # APA: Remove all .html files (and backups) generated from .content # files. Need to remove timestamp files as well! clean: $(FIND) . \( -name "*.content" -o -name "*~" \) -print | perl -ne "{ chomp; s/\.content/.html/; unlink; }" rm -f $(STAMPS)/htdocs rm -f $(STAMPS)/validate Documentation: cd $@ && $(MAKE) TEXI2HTML="$(TEXI2HTML)" all Download/win32: cd $@ && $(MAKE) # APA: Compile any lisp file for performance (a bit simple-minded, maybe). %.elc: %.el $(XEMACS) $(FLAGS) -f batch-byte-compile $< # Scaffolding # APA: A directory as dependency will always trigger the rule (cygwin, linux). # $(STAMPS): # $(MKDIR) $(STAMPS) # End of xemacsweb Makefile
| root@alioth.debian.org | ViewVC Help |
| Powered by ViewVC 1.0.0 |

