Added, and verified build for, the gsh and kernel reference manuals.

This commit is contained in:
Devin Reade 2012-09-04 23:15:06 -06:00
parent 64ec87937e
commit c825292f87
16 changed files with 2958 additions and 56 deletions

12
GNUmakefile Normal file
View File

@ -0,0 +1,12 @@
#
# Various reference manuals
#
SRCROOT = .
WEB_HOME_BASE =
SUBPROJECTS = refs
include $(SRCROOT)/etc/const-priv.mk
include $(SRCROOT)/etc/const.mk
-include $(SRCROOT)/etc/const-local.mk
include $(SRCROOT)/etc/rules.mk

10
README
View File

@ -16,11 +16,11 @@ Manifest:
README - This file.
README.build - Detailed build instructions.
etc - These are configuration files for the document build.
See README.build for details.
refs/intro - Introduction and Installation Manual
refs/kernel - GNO Kernel Reference Manual
refs/gsh - GNO Shell Reference Manual
Questions or concerns should be discussed on the gno-devel mailing
list at <https://lists.gno.org/mailman/listinfo/gno-devel>.

View File

@ -5,16 +5,28 @@ Platform:
to submit patches to allow the docs to build on other platforms,
as long as you don't break the primary build.
It has also been verified to build on the following platforms:
CentOS 5.8
RHEL 6.3
Required Tools:
The following tool sets are available on the official build
platform as part of the base distribution (that is, you can
use yum(8) to install them).
GNU make
docbook2html (CentOS package docbook-utils)
docbook2pdf (CentOS package docbook-utils-pdf)
latex
dvips
dvipdfm
latex2html
Preparation:
Create the file etc/constpriv.mk. See the comments in etc/const.mk
for details.
Create the file etc/const-priv.mk. See the comments in etc/const.mk
for details. If you would like to override values set in const.mk,
then create the file etc/const-local.mk.
Procedure:
@ -25,3 +37,10 @@ Procedure:
On the official build server only, to install the documents, type:
make install
You can clean up temporary files without affecting the built
documents by doing a:
make clean
You can do a complete cleanup, including built documents, via:
make clobber

3
etc/.gitignore vendored
View File

@ -1 +1,2 @@
constpriv.mk
const-priv.mk
const-local.mk

12
etc/const-docbook.mk Normal file
View File

@ -0,0 +1,12 @@
#
# Docbook-specific constants
#
# The top-level file that includes all other docbook files
DOCBOOK_TOP = $(DOCBOOK_SRC_BASENAME).docbook
# The name of the top level index file created by docbook2html.
# Override in the local makefile if necessary.
DOCBOOK_TOP_HTML = $(WEB_HOME)/book1.html
DOCBOOK_TOP_PDF = $(WEB_HOME)/$(DOCBOOK_SRC_BASENAME).pdf

3
etc/const-tex.mk Normal file
View File

@ -0,0 +1,3 @@
#
# LATEX-specific constants
#

View File

@ -13,8 +13,8 @@
# If the value is empty, then recursion will stop.
#
# In addition, also before this file is included, it is assumed that
# the including makefile will also have included the constpriv.mk file,
# also in this directory. The constpriv.mk file is not checked into
# the including makefile will also have included the const-priv.mk file,
# also in this directory. The const-priv.mk file is not checked into
# the repository, but is expected to be created locally and containing
# the following variables:
#
@ -48,6 +48,9 @@ DOCROOT_INSECURE = $(OUTPUT_DIR)/insecure/gno
# (encrypted) access.
DOCROOT_SECURE = $(OUTPUT_DIR)/secure/gno
# Full path to where we're putting our files
WEB_HOME = $(DOCROOT_INSECURE)/$(WEB_HOME_BASE)
HTTP_SERVER = www.gno.org
HTTP_PORT = # :81
HTTPS_PORT = # :8443
@ -60,5 +63,60 @@ BUILD_FILES = GNUmakefile $(HEAD_PAGE) $(TAIL_PAGE) \
$(SRCROOT)/etc/rules.mk \
$(SRCROOT)/etc/tailcat.mk
TEX_DVI = $(TEX_SRC_BASENAME).dvi
TEX_PS_LTR = $(WEB_HOME)/$(TEX_SRC_BASENAME).ltr.ps
TEX_PS_A4 = $(WEB_HOME)/$(TEX_SRC_BASENAME).a4.ps
TEX_PDF_LTR = $(WEB_HOME)/$(TEX_SRC_BASENAME).ltr.pdf
TEX_PDF_A4 = $(WEB_HOME)/$(TEX_SRC_BASENAME).a4.pdf
TEX_HTML = $(WEB_HOME)/$(TEX_SRC_BASENAME).html
# Build artifacts
TEX_GARBAGE = \
$(TEX_SRC_BASENAME).err \
$(TEX_SRC_BASENAME).aux \
$(TEX_SRC_BASENAME).log \
$(TEX_SRC_BASENAME).toc \
$(TEX_SRC_BASENAME).idx \
$(TEX_SRC_BASENAME).ilg \
$(TEX_SRC_BASENAME).ind \
$(TEX_SRC_BASENAME).out \
$(TEX_SRC_BASENAME).dvi
# Various latex-related paths
DVIPS = dvips
DVIPDF = dvipdfm
LATEX = latex
TEX2HTML = latex2html
MAKEINDEX = makeindex
BIBTEX = bibtex
# Varous latex-related variables
DVIPS_FLAGS =
LATEX_FLAGS =
#TEXINPUTS = ':/usr/local/lib/latex2html'
TEXINPUTS = ''
# This link will appear as the "up" link at the top page of of
# latex2html-generatd documents. You can override it in the local
# makefile if desired.
TEX_UP_URL = ../../refs.html
# This is the link name that will be displayed for the TEX_UP_URL, above.
# You can override it in the local makefile if desired.
TEX_UP_TITLE = GNO Documentation
# This one assumes that all latex-based documents are at the same directory
# depth in the filesystem. If one differs, you can override this in the
# local makefile.
TEX_FEEDBACK_URL = ../../feedback.html
# TEX_CONTACT will appear at the bottom of latex2html generated pages
#TEX_CONTACT = '$(NAME) <a href="mailto:$(ADDRESS)" title="GNO Documentation Feedback">&lt;$(ADDRESS)&gt;</a>'
TEX_CONTACT = '<a href="$(TEX_FEEDBACK_URL)" title="GNO Documentation Feedback">Feedback</a>'
# Additional flags get defined in tex-rules.mk and local makefiles.
TEX2HTML_FLAGS = -local_icons -address $(TEX_CONTACT)
# This is where the files will eventually wind up.
TARGET_DIR = $(GNO_PUBLIC_HTML)/$(WEB_HOME_BASE)

24
etc/rules-docbook.mk Normal file
View File

@ -0,0 +1,24 @@
#
# Rules specific to docbook-style documents
#
docbookBuild: docbookPrep docbookHtml docbookPdf
docbookPrep:
@if [ -z "$(DOCBOOK_SRC_BASENAME)" ]; then \
echo "DOCBOOK_SRC_BASENAME is not set"; \
exit 1; \
fi
docbookHtml: webHome $(DOCBOOK_TOP_HTML)
docbookPdf: webHome $(DOCBOOK_TOP_PDF)
$(DOCBOOK_TOP_HTML): $(DOCBOOK_SRCS)
docbook2html -o $(WEB_HOME) $(DOCBOOK_TOP)
# This would give more meaningful names to most *.html files, but not all
# docbook2html -V '%use-id-as-filename%' -o $(WEB_HOME) $(DOCBOOK_TOP)
$(DOCBOOK_TOP_PDF): $(DOCBOOK_SRCS)
docbook2pdf -o $(WEB_HOME) $(DOCBOOK_TOP)

60
etc/rules-tex.mk Normal file
View File

@ -0,0 +1,60 @@
#
# latex2html-specific rules. We keep these ones separate
# so that they don't interfere with normal html generation.
#
# You would not normally include both this file and tailcat.mk
# from the same makefile (ie: this is an untested combination).
#
texBuild: texPrep texDvi texPs texPdf texHtml
texPrep:
@if [ -z "$(TEX_SRC_BASENAME)" ]; then \
echo "TEX_SRC_BASENAME is not set"; \
exit 1; \
fi
texDvi: webHome $(TEX_DVI)
texPs: tex_ps_ltr tex_ps_a4
texPdf: tex_pdf_ltr tex_pdf_a4
texHtml: webHome $(TEX_HTML)
tex_ps_ltr: webHome $(TEX_PS_LTR)
tex_ps_a4: webHome $(TEX_PS_A4)
tex_pdf_ltr: webHome $(TEX_PDF_LTR)
tex_pdf_a4: webHome $(TEX_PDF_A4)
clean::
/bin/rm -f $(TEX_GARBAGE)
$(WEB_HOME)/%.ltr.ps: %.dvi
$(DVIPS) -tletter $(DVIPS_FLAGS) -o $@ $<
$(WEB_HOME)/%.a4.ps: %.dvi
$(DVIPS) -ta4 $(DVIPS_FLAGS) -o $@ $<
$(WEB_HOME)/%.ltr.pdf: %.dvi
$(DVIPDF) -p letter $(DVIPDF_FLAGS) -o $@ $<
$(WEB_HOME)/%.a4.pdf: %.dvi
$(DVIPDF) -p a4 $(DVIPDF_FLAGS) -o $@ $<
%.dvi: %.tex
@for i in 1 2 3; do \
echo "****** latex pass $$i"; \
TEXINPUTS=$(TEXINPUTS) $(LATEX) $(LATEX_FLAGS) $<; \
if [ "$*" = intro ]; then \
echo "****** running bibtex"; \
$(BIBTEX) $*; \
fi; \
$(MAKEINDEX) $*; \
done; \
echo "****** latex passes done"
$(WEB_HOME)/%.html: %.tex
@$(TEX2HTML) -dir "$(WEB_HOME)" -local_icons \
-up_title "$(TEX_UP_TITLE)" \
-up_url "$(TEX_UP_URL)" \
$(TEX2HTML_FLAGS) $<
# -prefix "$*". -no_auto_link \
# -info ""

View File

@ -2,19 +2,7 @@
# $Id: rules.mk,v 1.1 2012/08/26 02:27:36 gdr Exp $
#
$(WEB_HOME)/%.gif: %.gif
install -m644 $< $@
$(WEB_HOME)/%.png: %.png
install -m644 $< $@
$(WEB_HOME)/%.pdf: %.pdf
install -m644 $< $@
$(WEB_HOME)/%.txt: %.txt
install -m644 $< $@
build: buildLocal webHome $(TARGETS) webHomePerms $(BUILD_FILES)
build: buildLocal $(TARGETS) webHomePerms $(BUILD_FILES)
@for s in X $(SUBPROJECTS); do \
[ "$$s" = X ] && continue; \
[ -d "$$s" ] || continue; \
@ -23,8 +11,7 @@ build: buildLocal webHome $(TARGETS) webHomePerms $(BUILD_FILES)
# You can define additional rules for buildLocal if the default build
# rule is insufficient.
buildLocal::
@true
buildLocal:: webHome
webHome:
@if [ -z "$(WEB_HOME)" ]; then \
@ -52,7 +39,7 @@ install::
find $(TARGET_DIR) -type f \! -perm 0644 -exec chmod 644 {} \;
clean::
rm -f *~
/bin/rm -f *~
@for s in X $(SUBPROJECTS); do \
[ "$$s" = X ] && continue; \
[ -d "$$s" ] || continue; \
@ -60,20 +47,16 @@ clean::
done
clobber:: clean
/bin/rm -rf $(WEB_HOME)
buildDocbookHtml:: clean
@if [ -z "$(DOCBOOK_TOP)" ]; then \
echo "DOCBOOK_TOP is not set"; \
exit 1; \
fi
@htmldir="$(WEB_HOME)/html"; \
[ -d $$htmldir ] || mkdir -p $$htmldir; \
echo docbook2html -o $$htmldir $(DOCBOOK_TOP); \
docbook2html -o $$htmldir $(DOCBOOK_TOP)
# -cp -p *.png $(HTML_DIR)
$(WEB_HOME)/%.gif: %.gif
install -m644 $< $@
buildDocbookPdf::
@[ -d $(WEB_HOME) ] || mkdir -p $(WEB_HOME)
@date
docbook2pdf -o $(WEB_HOME) $(DOCBOOK_TOP)
@date
$(WEB_HOME)/%.png: %.png
install -m644 $< $@
$(WEB_HOME)/%.pdf: %.pdf
install -m644 $< $@
$(WEB_HOME)/%.txt: %.txt
install -m644 $< $@

12
refs/GNUmakefile Normal file
View File

@ -0,0 +1,12 @@
#
# Various reference manuals
#
SRCROOT = ..
WEB_HOME_BASE = refs
SUBPROJECTS = kernel gsh
include $(SRCROOT)/etc/const-priv.mk
include $(SRCROOT)/etc/const.mk
-include $(SRCROOT)/etc/const-local.mk
include $(SRCROOT)/etc/rules.mk

View File

@ -1,23 +1,19 @@
#
# GNO Shell
# GNO Shell Reference Manual
#
SRCROOT = ../..
WEB_HOME_BASE = refs/gsh
SUBPROJECTS =
include $(SRCROOT)/etc/constpriv.mk
DOCBOOK_SRC_BASENAME = gsh
DOCBOOK_SRCS = $(shell /bin/ls -1 *.docbook)
include $(SRCROOT)/etc/const-priv.mk
include $(SRCROOT)/etc/const.mk
WEB_HOME = $(DOCROOT_INSECURE)/$(WEB_HOME_BASE)
HEAD_PAGE =
TAIL_PAGE =
TARGETS = buildDocbookHtml buildDocbookPdf
DOCBOOK_TOP = gsh.docbook
default: build
clean::
/bin/rm -rf $(WEB_HOME)/html
include $(SRCROOT)/etc/const-docbook.mk
-include $(SRCROOT)/etc/const-local.mk
include $(SRCROOT)/etc/rules.mk
include $(SRCROOT)/etc/tailcat.mk
include $(SRCROOT)/etc/rules-docbook.mk
buildLocal:: docbookBuild

View File

@ -30,7 +30,7 @@
-->
<book>
<book id="gsh" lang="en">
<bookinfo>
<title>GNO Shell Users' Manual</title>

8
refs/kernel/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
*.aux
*.dvi
*.idx
*.ilg
*.ind
*.log
*.out
*.toc

19
refs/kernel/GNUmakefile Normal file
View File

@ -0,0 +1,19 @@
#
# Kernel Reference Manual
#
SRCROOT = ../..
WEB_HOME_BASE = refs/kernel
SUBPROJECTS =
TEX_SRC_BASENAME = kern
TEX_TITLE = GNO Kernel Reference Manual
include $(SRCROOT)/etc/const-priv.mk
include $(SRCROOT)/etc/const.mk
include $(SRCROOT)/etc/const-tex.mk
-include $(SRCROOT)/etc/const-local.mk
include $(SRCROOT)/etc/rules.mk
include $(SRCROOT)/etc/rules-tex.mk
buildLocal:: texBuild

2695
refs/kernel/kern.tex Normal file

File diff suppressed because it is too large Load Diff