summaryrefslogtreecommitdiff
path: root/web/pwebmac/makeall
diff options
context:
space:
mode:
Diffstat (limited to 'web/pwebmac/makeall')
-rwxr-xr-xweb/pwebmac/makeall63
1 files changed, 51 insertions, 12 deletions
diff --git a/web/pwebmac/makeall b/web/pwebmac/makeall
index 0ceba6f511..6f0762a8d9 100755
--- a/web/pwebmac/makeall
+++ b/web/pwebmac/makeall
@@ -41,25 +41,43 @@ done
KNUTHWHERE=$(locate /bibtex.web)
KNUTHWARE=$(dirname $KNUTHWHERE)
+export CWEBINPUTS=$KNUTHWARE//:
+export WEBINPUTS=$KNUTHWARE//:
+
+# WEB and CWEB programs we want to get formatted; 'xetex.web' must be last,
+# because it switches the TEX engine!
for f in \
$KNUTHWARE/*.web \
- $KNUTHWARE/pdftexdir/pdftex.web \
- $KNUTHWARE/xetexdir/xetex.web
+ common ctangle cweave ctwill ctie tie \
+ pdftex.web xetex.web
do
if $CHANGES
then
- c=$(basename $f .web)
- case $c in
- "pdftex"|"xetex" )
- c=$KNUTHWARE/$c
- c=$(echo $c | sed -e 's?\(texk/\)?Work/\1?') ;;
- * ) c=$KNUTHWARE/$c ;;
+ c=$(basename $f .web).ch
+
+ # pdftex.ch and xetex.ch for TeX Live are here
+ WEBINPUTS=$KNUTHWARE/../../Work//:$WEBINPUTS:
+
+ case $f in
+ *.web ) weave $f $c ;;
+ "common" ) cweave -f $f comm-w2c ;;
+ "ctangle" ) cweave -f $f ctang-w2c ;;
+ "cweave" ) cweave -f $f cweav-w2c ;;
+ "ctwill" ) cweave -f cweave $f-w2c $f ;;
+ "ctie" ) cweave -f $f $f-k ;;
+ "tie" ) cweave -f $f $f-w2c ;;
esac
- weave $f $c.ch
- sed -i -e "s/\(\\\\let\\\\maybe=\)\\\\iftrue/\1\\\\iffalse/" \
+
+ # make full documentation with changes applied
+ sed -i -e "s/\(\\\\let\\\\maybe=\)\\\\iffalse/\1\\\\iftrue/" \
$(basename $f .web).tex
else
- weave $f
+ case $f in
+ *.web ) weave $f ;;
+ "common"|"ctangle"|"cweave"|"ctie"|"tie" )
+ cweave -f $f ;;
+ "ctwill" ) cweave -f cweave $f-w2c $f ;;
+ esac
fi
f=$(basename $f .web)
@@ -72,6 +90,7 @@ do
# replace former convention to indicate "not a title page"
# to include page headers for table-of-contents
+ # FIX: most of the WEB codes will be corrected.
sed -i -e "s/\\\\def\\\\titlepage{F}/\\\\titlefalse/" $f.tex
# special treatment for individual WEB programs
@@ -79,10 +98,12 @@ do
# purge conflict between bibtex.web and webmac.tex
# 'E' no longer free to be active character
# fix table-of-contents page for bibtex
+ # FIX: don't wait for Oren Patashnik.
"bibtex" ) sed -i -e "s/titlefalse/titletrue/" \
-e "70,77d" $f.tex ;;
# make room for new material in weave.web
+ # FIX: should be fixed upstream.
"tangle" ) sed -i -e "s/number{123}/number{125}/" $f.tex ;;
# amend '\N' redefinition for PDF outlines in mf.tex and
@@ -125,13 +146,27 @@ FI
}" $f.tex
rm texmf-pdf.patch
fi ;;
+
+ "common"|"ctangle"|"cweave"|"ctwill"|"ctie"|"tie" )
+ # Use nicer format for C comments and assignment
+ sed -i -e "1 s/\(\\\\input cwebmac\)/\1\n\\\\input Xcwebmac/" \
+ $f.tex
+
+ # 'cwebmac.tex' needs a little push for 'xetex'
+ # FIX: should be fixed upstream in 'cwebmac.tex'.
+ if [ "xetex" = $TEX ]
+ then
+ sed -i -e "1 s/\(\\\\input cwebmac\)/\\\\let\\\\pdf+\n\1\n/" \
+ $f.tex
+ fi ;;
esac
if $PDFTOCFRONT
then
# shift table-of-contents pages to the front in PDF
sed -i -e "1 s/\(webmac\)/\1\n\\\\input pdfwebtocfront/" $f.tex
- $TEX $f.tex # run TeX twice
+ sed -i -e "2 s/\(cwebmac\)/\1\n\\\\input pdfwebtocfront/" $f.tex
+ $TEX $f # run TeX twice
fi
$TEX $f
@@ -153,6 +188,10 @@ then
-wvzf $OUTDIR/other.tar.gz -s ,^,other/,
pax pdftex.pdf -wvzf $OUTDIR/pdftex.tar.gz -s ,^,pdftex/,
pax xetex.pdf -wvzf $OUTDIR/xetex.tar.gz -s ,^,xetex/,
+ pax ctie.pdf -wvzf $OUTDIR/ctie.tar.gz -s ,^,ctie/,
+ pax tie.pdf -wvzf $OUTDIR/tie.tar.gz -s ,^,tie/,
+ pax common.pdf ctangle.pdf cweave.pdf ctwill.pdf \
+ -wvzf $OUTDIR/cweb.tar.gz -s ,^,cweb/,
fi
exit 0