summaryrefslogtreecommitdiff
path: root/info/symbols/comprehensive/source/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'info/symbols/comprehensive/source/Makefile')
-rw-r--r--info/symbols/comprehensive/source/Makefile103
1 files changed, 54 insertions, 49 deletions
diff --git a/info/symbols/comprehensive/source/Makefile b/info/symbols/comprehensive/source/Makefile
index 1876486e96..41ce0eaeeb 100644
--- a/info/symbols/comprehensive/source/Makefile
+++ b/info/symbols/comprehensive/source/Makefile
@@ -22,7 +22,7 @@ EXTRADIST = symbols.tex lightbulb10.mf lightbulb.mf \
makefakeMnSymbol teubner-subset.sty fakemusixtex.sty \
fakearevmath.sty fakedozenal.sty fakelatexsym.sty \
makefakefdsymbol makefakeboisik fakearcs.sty fakeallrunes.sty \
- makefakestix makefakestarfont makerawtables \
+ makefakestix makefakestarfont makerawtables makefakecmupint \
Makefile
# All formats of the symbol list depend upon the following files.
@@ -31,7 +31,7 @@ COMMONDEPS = symbols.tex symbols.ist fakeMnSymbol.sty teubner-subset.sty \
fakeboisik.sty fakestix.sty fakearcs.sty fakeold-arrows.sty \
fakearevmath.sty fakedozenal.sty fakelatexsym.sty \
fakestarfont.sty nonlatex versatim.tex junicode lilyglyphs \
- fakeallrunes.sty \
+ fakeallrunes.sty fakecmupint.sty \
$(TARGETS_SOURCE)
# The following non-LaTeX files will be copied to the current
@@ -39,7 +39,8 @@ COMMONDEPS = symbols.tex symbols.ist fakeMnSymbol.sty teubner-subset.sty \
NONLATEX = hands.mf greenpoint.mf nkarta.mf astrosym.mf WebOMintsGD.pfb \
moonphase.mf dancers.mf smfpr10.mf umranda.mf umrandb.mf \
cryst.mf dice3d.mf magic.mf fselch10.mf Junicode.ttf msym10.tfm \
- knot1.mf knot2.mf knot3.mf knot4.mf knot5.mf knot6.mf knot7.mf
+ knot1.mf knot2.mf knot3.mf knot4.mf knot5.mf knot6.mf knot7.mf \
+ endofproofwd.pdf
# We need FontForge (or the older PfaEdit) to generate lightbulb10.pfb.
FONTFORGE = fontforge
@@ -49,7 +50,6 @@ PARXARGS = 8
# The following should be overwritten in a recursive call to Make.
SIZE = letter
-EXT = pdf
# I've had some trouble using sh as the shell. bash seems to work, though.
SHELL = /bin/bash
@@ -57,67 +57,59 @@ SHELL = /bin/bash
###########################################################################
# Build all specified formats in all specified paper sizes.
-all: $(TARGETS_DIST)
+all: check_version $(TARGETS_DIST)
-.PHONY: all symbols nonlatex dist clean mostlyclean
+.PHONY: all symbols check_version nonlatex dist clean mostlyclean
###########################################################################
# Define generic rules for building pdf/dvi/ps in letter/a4 size.
symbols: $(COMMONDEPS)
# Pass 1: Produce an initial build of the document.
- $(LATEX) -jobname symbols-$(SIZE)-$(EXT) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
+ $(LATEX) -jobname symbols-$(SIZE) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
# Pass 2a: Build a second time to produce a final page layout (one hopes).
- $(LATEX) -jobname symbols-$(SIZE)-$(EXT) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
+ $(LATEX) -jobname symbols-$(SIZE) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
# Pass 2b: Create an index based on the current layout. We do some
# preprocessing of the .idx file to improve the sorting order.
- perl -ne 's/\{(\d+)\}=/sprintf " {%03d}=", $$1/ge; s/\(\\(\S+)\s*\)/\(\\$$1\)/; print' < symbols-$(SIZE)-$(EXT).idx > symbols-$(SIZE)-$(EXT).tmp
- mv symbols-$(SIZE)-$(EXT).tmp symbols-$(SIZE)-$(EXT).idx
- makeindex -s symbols.ist symbols-$(SIZE)-$(EXT)
+ perl -ne 's/\{(\d+)\}=/sprintf " {%03d}=", $$1/ge; s/\(\\(\S+)\s*\)/\(\\$$1\)/; print' < symbols-$(SIZE).idx > symbols-$(SIZE).tmp
+ mv symbols-$(SIZE).tmp symbols-$(SIZE).idx
+ makeindex -s symbols.ist symbols-$(SIZE)
# Pass 3a: Build the document with the newly generated index.
- $(LATEX) -jobname symbols-$(SIZE)-$(EXT) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
+ $(LATEX) -jobname symbols-$(SIZE) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
# Pass 3b: Get a final symbol count, and put it in the .aux file.
# Also, patch the hyperlink bookmarks since we can't do that from
# within the document.
- totalsymbols=`fgrep -c '\item \verb' symbols-$(SIZE)-$(EXT).ind` ; \
- ( fgrep -v prevtotalsymbols symbols-$(SIZE)-$(EXT).aux > symbols-$(SIZE)-$(EXT).pts ; \
+ totalsymbols=`fgrep -c '\item \verb' symbols-$(SIZE).ind` ; \
+ ( fgrep -v prevtotalsymbols symbols-$(SIZE).aux > symbols-$(SIZE).pts ; \
echo "\\gdef\\prevtotalsymbols{$$totalsymbols}" ; \
- echo "\\gdef\\approxcount{}" ) >> symbols-$(SIZE)-$(EXT).pts ; \
- mv symbols-$(SIZE)-$(EXT).pts symbols-$(SIZE)-$(EXT).aux
- if [ -e symbols-$(SIZE)-$(EXT).out ] ; then \
- cat symbols-$(SIZE)-$(EXT).out | \
- perl -ne 's/\[[^\]]*\](?=\w)//g; print' > symbols-$(SIZE)-$(EXT).tmp ; \
- mv symbols-$(SIZE)-$(EXT).tmp symbols-$(SIZE)-$(EXT).out ; \
+ echo "\\gdef\\approxcount{}" ) >> symbols-$(SIZE).pts ; \
+ mv symbols-$(SIZE).pts symbols-$(SIZE).aux
+ if [ -e symbols-$(SIZE).out ] ; then \
+ cat symbols-$(SIZE).out | \
+ perl -ne 's/\[[^\]]*\](?=\w)//g; print' > symbols-$(SIZE).tmp ; \
+ mv symbols-$(SIZE).tmp symbols-$(SIZE).out ; \
fi
# Pass 4: Build the final document using the final symbol count
# and with the table of contents and PDF bookmarks correctly
# reflecting the index pages. We don't use our custom latex
# format here because it interferes with cmap.sty.
- $(LATEX) -jobname symbols-$(SIZE)-$(EXT) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
- mv symbols-$(SIZE)-$(EXT).$(EXT) symbols-$(SIZE).$(EXT)
- -@(grep --color -E "^.*multiply.defined.*" symbols-$(SIZE)-$(EXT).log ; true)
- -@(grep --color -E "^.*undefined.*" symbols-$(SIZE)-$(EXT).log | grep -v U/stmry/b/n ; true)
+ $(LATEX) -jobname symbols-$(SIZE) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols'
+ -@(grep --color -E "^.*multiply.defined.*" symbols-$(SIZE).log ; true)
+ -@(grep --color -E "^.*undefined.*" symbols-$(SIZE).log | grep -v U/stmry/b/n ; true)
-###########################################################################
-
-# Define specific rules for building different formats and sizes.
-symbols-a4.pdf symbols-a4-pdf.log symbols-a4-pdf.ind: $(COMMONDEPS)
- $(MAKE) $(MAKEFLAGS) SIZE=a4 LATEX=pdflatex EXT=pdf symbols
-
-symbols-letter.pdf symbols-letter-pdf.log symbols-letter-pdf.ind: $(COMMONDEPS)
- $(MAKE) $(MAKEFLAGS) SIZE=letter LATEX=pdflatex EXT=pdf symbols
+check_version: symbols.tex
+ comment_ver=$$(perl -ne '/^\%\%\%\s+version\s+=\s+\"(\S+)\"/ && print "$$1\n"' symbols.tex) \
+ pdf_ver=$$(perl -ne '/pdfversionid\s*=\s*\{(\S+)\}/ && print "$$1\n"' symbols.tex) ; \
+ test "$$comment_ver" = "$$pdf_ver"
-symbols-a4.dvi symbols-a4-dvi.log symbols-a4-dvi.ind: $(COMMONDEPS)
- $(MAKE) $(MAKEFLAGS) SIZE=a4 LATEX=latex EXT=dvi symbols
-
-symbols-letter.dvi symbols-letter-dvi.log symbols-letter-dvi.ind: $(COMMONDEPS)
- $(MAKE) $(MAKEFLAGS) SIZE=letter LATEX=latex EXT=dvi symbols
+###########################################################################
-symbols-letter.ps: symbols-letter.dvi
- dvips -t letter -Pamz -Pcmz -j0 -o symbols-letter.ps symbols-letter.dvi
+# Define specific rules for building with different pages sizes.
+symbols-a4.pdf symbols-a4.log symbols-a4.ind: $(COMMONDEPS)
+ $(MAKE) $(MAKEFLAGS) SIZE=a4 LATEX=pdflatex symbols
-symbols-a4.ps: symbols-a4.dvi
- dvips -t a4 -Pamz -Pcmz -j0 -o symbols-a4.ps symbols-a4.dvi
+symbols-letter.pdf symbols-letter.log symbols-letter.ind: $(COMMONDEPS)
+ $(MAKE) $(MAKEFLAGS) SIZE=letter LATEX=pdflatex symbols
rawtables-letter.tex rawtables.list testfont.pdf testfont.log: makerawtables $(COMMONDEPS)
@@ -228,6 +220,15 @@ fakestarfont.sty: makefakestarfont
./makefakestarfont /dev/null > $@ ; \
fi
+# If we have cmupint.sty, generate a faked version that does not
+# declare any new math alphabets.
+fakecmupint.sty: makefakecmupint
+ if [ "`kpsewhich cmupint.sty`" ] ; then \
+ ./makefakecmupint `kpsewhich cmupint.sty` > $@ ; \
+ else \
+ ./makefakecmupint /dev/null > $@ ; \
+ fi
+
# The apl package's versatim.tex messes up TeX's category codes.
# Hence, we override that file with a do-nothing version.
versatim.tex:
@@ -268,28 +269,32 @@ nonlatex:
ln -s -f $$fullfname . ; \
fi \
done
+ fullfname=`locate -b '\endofproofwd.pdf'` ; \
+ if [ "$$fullfname" ] ; then \
+ ln -s -f $$fullfname . ; \
+ fi
###########################################################################
# The index is needed to produce a list of symbols. We arbitrarily
-# use the symbols-letter-pdf.ind version of the index.
-symbols.ind: symbols-letter-pdf.ind
- cp symbols-letter-pdf.ind symbols.ind
+# use the symbols-letter.ind version of the index.
+symbols.ind: symbols-letter.ind
+ cp symbols-letter.ind symbols.ind
# Create a list of all symbols.
SYMLIST: symbols.ind
cat symbols.ind | perl -ne 's/.*\\verb\+([^+]+)\+.*/$$1/g && print' | sort -u > SYMLIST
# Create a README file.
-README: makeREADME symbols-letter-pdf.log symbols.ind
- ./makeREADME symbols-letter-pdf.log symbols.ind > README
+README: makeREADME symbols-letter.log symbols.ind
+ ./makeREADME symbols-letter.log symbols.ind > README
# Prepare to timestamp the distributed symbols.tex file.
TODAY = $(shell date +'%d %B %Y')
NOW = $(shell date +'%T %Z')
# Create a .tar.gz file.
-comprehensive.tar.gz: $(TARGETS) $(EXTRADIST)
+comprehensive.tar.gz: check_version $(TARGETS) $(EXTRADIST)
$(RM) -r comprehensive
mkdir comprehensive
mkdir comprehensive/source
@@ -299,7 +304,7 @@ comprehensive.tar.gz: $(TARGETS) $(EXTRADIST)
perl -ne 's/(date\s*=\s*)\"[^\"]*\"/$$1\"$(TODAY)\"/; print' | \
perl -ne 's/(time\s*=\s*)\"[^\"]*\"/$$1\"$(NOW)\"/; print' | \
checksum > comprehensive/source/symbols.tex
- for fakes in MnSymbol fdsymbol boisik stix starfont ; do \
+ for fakes in MnSymbol fdsymbol boisik stix starfont cmupint ; do \
chmod 755 comprehensive/source/makefake$$fakes ; \
done
chmod 755 comprehensive/source/makerawtables
@@ -324,7 +329,7 @@ clean:
$(RM) comprehensive.tar.gz
$(RM) -r junicode lilyglyphs
$(RM) fakeMnSymbol.sty fakefdsymbol.sty fakeknitting.sty
- $(RM) fakeboisik.sty fakestix.sty fakestarfont.sty
+ $(RM) fakeboisik.sty fakestix.sty fakestarfont.sty fakecmupint.sty
$(RM) versatim.tex extract-by-name.pe
$(RM) mfplain.{log,mem}
$(RM) lightbulb10*pk lightbulb10.{tfm,log,pe,afm}