315 lines
7.8 KiB
Makefile
315 lines
7.8 KiB
Makefile
# Copyright (C) 1989-2022 Free Software Foundation, Inc.
|
|
# Written by James Clark (jjc@jclark.com)
|
|
#
|
|
# This file is part of groff.
|
|
#
|
|
# groff is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License as published by the Free
|
|
# Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# groff is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# This is set up so you can do
|
|
# make -f generate/Makefile
|
|
# in the parent directory of this directory.
|
|
|
|
# The following line is required for DOS/Windows systems, since
|
|
# this Makefile needs a Unixy shell to run.
|
|
SHELL = /bin/sh
|
|
|
|
# Directory containing AFM files. Must not be current directory.
|
|
# Either long names (e.g., Times-Roman.afm) or short names (e.g.,
|
|
# timesr.afm) may be used. See the afmname script.
|
|
afmdir=/usr/local/lib/afm
|
|
|
|
# Write font descriptions to this directory.
|
|
outdir=$(srcdir)/..
|
|
|
|
# The symbol font which fits to 'Symbol.afm'. For the creation of
|
|
# 'symbolsl.afm' we need the 'printafm' script from ghostscript.
|
|
symbolfont=/usr/local/lib/fonts/Symbol.pfb
|
|
|
|
PRINTAFM=printafm
|
|
|
|
srcdir=generate
|
|
|
|
SPECIALFONTS=S
|
|
DINGBATSFONTS=ZD ZDR
|
|
GREEKFONTS=SS
|
|
TEXTFONTS=AB ABI AI AR \
|
|
BMB BMBI BMI BMR \
|
|
CB CBI CI CR \
|
|
HB HBI HI HR \
|
|
HNB HNBI HNI HNR \
|
|
NB NBI NI NR \
|
|
PB PBI PI PR \
|
|
TB TBI TI TR \
|
|
ZCMI
|
|
|
|
FONTS=$(TEXTFONTS) $(SPECIALFONTS) $(GREEKFONTS) $(DINGBATSFONTS) EURO
|
|
|
|
DESC=$(srcdir)/../DESC
|
|
AFMTODIT=afmtodit -c -d$(DESC)
|
|
IFLAG=-i 50
|
|
RFLAG=-i 0 -m
|
|
NOLIGFLAG=-n
|
|
TEXTENC=$(srcdir)/../text.enc
|
|
EFLAG=-e $(TEXTENC)
|
|
TEXTMAP=$(srcdir)/text.map
|
|
AFMNAME=$(srcdir)/afmname
|
|
|
|
RM=rm -f
|
|
|
|
all: $(FONTS)
|
|
|
|
TR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Times-Roman.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
TB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Times-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
TI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) -a 7 \
|
|
`$(AFMNAME) $(afmdir)/Times-Italic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
TBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Times-BoldItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
CR:
|
|
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Courier.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
CB:
|
|
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Courier-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
CI:
|
|
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Courier-Oblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
CBI:
|
|
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
PR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Palatino-Roman.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
PB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Palatino-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
PI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Palatino-Italic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
PBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
NR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
NB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
NI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
NBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-BoldItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
BMR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Bookman-Light.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
BMB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Bookman-Demi.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
BMI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
BMBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
AR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/AvantGarde-Book.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
AB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
AI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
ABI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HNR:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HNB:
|
|
$(AFMTODIT) $(EFLAG) $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HNI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Oblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
HNBI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-BoldOblique.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
ZCMI:
|
|
$(AFMTODIT) $(EFLAG) $(IFLAG) \
|
|
`$(AFMNAME) $(afmdir)/ZapfChancery-MediumItalic.afm` \
|
|
$(TEXTMAP) $(OUTDIR)/$@
|
|
|
|
ZD:
|
|
$(AFMTODIT) -s $(RFLAG) \
|
|
`$(AFMNAME) $(afmdir)/ZapfDingbats.afm` \
|
|
$(srcdir)/dingbats.map $(OUTDIR)/$@
|
|
|
|
SS: $(OUTDIR)/symbolsl.afm
|
|
$(AFMTODIT) -s -x $(IFLAG) \
|
|
$(OUTDIR)/symbolsl.afm $(srcdir)/slanted-symbol.map \
|
|
$(OUTDIR)/$@
|
|
|
|
S: symbol.afm
|
|
$(AFMTODIT) -s $(RFLAG) \
|
|
symbol.afm $(srcdir)/symbol.map $(OUTDIR)/$@
|
|
|
|
ZDR: $(OUTDIR)/zapfdr.afm
|
|
$(AFMTODIT) -s $(RFLAG) \
|
|
$(OUTDIR)/zapfdr.afm $(srcdir)/dingbats-reversed.map \
|
|
$(OUTDIR)/$@
|
|
|
|
# the map is just a dummy
|
|
EURO: freeeuro.afm
|
|
$(AFMTODIT) $(RFLAG) \
|
|
freeeuro.afm $(srcdir)/symbol.map $(OUTDIR)/$@
|
|
|
|
freeeuro.afm freeeuro.pfa: $(srcdir)/freeeuro.sfd
|
|
fontforge -script $(srcdir)/sfdtopfa.pe $(srcdir)/freeeuro.sfd \
|
|
&& mv freeeuro.afm freeeuro.pfa $(OUTDIR)
|
|
|
|
symbol.afm: $(srcdir)/symbol.sed
|
|
sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` \
|
|
>$(OUTDIR)/$@
|
|
|
|
symbolsl.afm: $(srcdir)/symbolsl.awk $(srcdir)/../symbolsl.ps
|
|
$(RM) Fontmap \
|
|
&& echo "/Symbol-Slanted ($(srcdir)/../symbolsl.ps) ;" \
|
|
> Fontmap \
|
|
&& echo "/Symbol ($(symbolfont)) ;" >> Fontmap \
|
|
&& $(PRINTAFM) Symbol-Slanted > tmp.afm \
|
|
&& awk -f $(srcdir)/symbolsl.awk -v SYMAFM=`$(AFMNAME) \
|
|
$(afmdir)/Symbol.afm` tmp.afm >$(OUTDIR)/$@ \
|
|
&& $(RM) Fontmap tmp.afm
|
|
|
|
zapfdr.afm: $(srcdir)/apfdr.sed
|
|
sed -f $(srcdir)/zapfdr.sed \
|
|
`$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$(OUTDIR)/$@
|
|
|
|
ZD: $(srcdir)/dingbats.map
|
|
ZDR: $(srcdir)/dingbats-reversed.map
|
|
$(TEXTFONTS): $(TEXTMAP) $(TEXTENC)
|
|
$(SPECIALFONTS): $(srcdir)/symbol.map
|
|
$(GREEKFONTS): $(srcdir)/slanted-symbol.map
|
|
$(FONTS): $(DESC)
|
|
|
|
$(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
|
|
printf \
|
|
'#\n# This is a list of all predefined groff symbols.\n#\n' \
|
|
> $(OUTDIR)/$@ \
|
|
&& cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
|
|
|
|
clean:
|
|
cd $(OUTDIR) \
|
|
&& $(RM) freeeuro.afm freeeuro.pfa symbol.afm \
|
|
$(srcdir)/symbol.map symbolsl.afm zapfdr.afm
|
|
|
|
realclean: clean
|
|
cd $(OUTDIR) \
|
|
&& $(RM) $(FONTS)
|
|
|
|
extraclean: realclean
|
|
$(RM) core *~ "#*"
|
|
|
|
.PHONY: all clean realclean extraclean
|
|
|
|
# Local Variables:
|
|
# mode: makefile
|
|
# fill-column: 72
|
|
# End:
|
|
# vim: set textwidth=72:
|