1# Copyright (C) 1989-2000, 2002, 2003 Free Software Foundation, Inc.
2#      Written by James Clark (jjc@jclark.com)
3#
4# This file is part of groff.
5#
6# groff is free software; you can redistribute it and/or modify it under
7# the terms of the GNU General Public License as published by the Free
8# Software Foundation; either version 2, or (at your option) any later
9# version.
10#
11# groff is distributed in the hope that it will be useful, but WITHOUT ANY
12# WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14# for more details.
15#
16# You should have received a copy of the GNU General Public License along
17# with groff; see the file COPYING.  If not, write to the Free Software
18# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
19
20# This is set up so you can do
21#   make -f generate/Makefile
22# in the parent directory of this directory.
23
24# The following line is required for DOS/Windows systems, since
25# this Makefile needs a Unixy shell to run.
26SHELL = /bin/sh
27
28# Directory containing AFM files.  Must not be current directory.
29# Either long names (eg Times-Roman.afm) or short names (eg timesr.afm)
30# may be used. See the afmname script.
31afmdir=/usr/local/lib/afm
32srcdir=generate
33
34SPECIALFONTS=S
35DINGBATSFONTS=ZD ZDR
36GREEKFONTS=SS
37TEXTFONTS=AB ABI AI AR BMB BMBI BMI BMR CB CBI CI CR HB HBI HI HR HNB HNBI \
38  HNI HNR NB NBI NI NR PB PBI PI PR TB TBI TI TR ZCMI
39
40FONTS=$(TEXTFONTS) $(SPECIALFONTS) $(GREEKFONTS) $(DINGBATSFONTS) EURO
41
42DESC=$(srcdir)/../DESC
43AFMTODIT=afmtodit -d$(DESC)
44IFLAG=-i 50
45RFLAG=-i 0 -m
46NOLIGFLAG=-n
47TEXTENC=$(srcdir)/../text.enc
48EFLAG=-e $(TEXTENC)
49TEXTMAP=$(srcdir)/textmap
50AFMNAME=$(srcdir)/afmname
51
52all: $(FONTS)
53
54TR:
55	$(AFMTODIT) $(EFLAG) $(RFLAG) \
56	`$(AFMNAME) $(afmdir)/Times-Roman.afm` $(TEXTMAP) $@
57
58TB:
59	$(AFMTODIT) $(EFLAG) $(RFLAG) \
60	`$(AFMNAME) $(afmdir)/Times-Bold.afm` $(TEXTMAP) $@
61
62TI:
63	$(AFMTODIT) $(EFLAG) $(IFLAG) -a 7 \
64	`$(AFMNAME) $(afmdir)/Times-Italic.afm` $(TEXTMAP) $@
65
66TBI:
67	$(AFMTODIT) $(EFLAG) $(IFLAG) \
68	`$(AFMNAME) $(afmdir)/Times-BoldItalic.afm` $(TEXTMAP) $@
69
70HR:
71	$(AFMTODIT) $(EFLAG) $(RFLAG) \
72	`$(AFMNAME) $(afmdir)/Helvetica.afm` $(TEXTMAP) $@
73
74HB:
75	$(AFMTODIT) $(EFLAG) $(RFLAG) \
76	`$(AFMNAME) $(afmdir)/Helvetica-Bold.afm` $(TEXTMAP) $@
77
78HI:
79	$(AFMTODIT) $(EFLAG) $(IFLAG) \
80	`$(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` $(TEXTMAP) $@
81
82HBI:
83	$(AFMTODIT) $(EFLAG) $(IFLAG) \
84	`$(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm` $(TEXTMAP) $@
85
86CR:
87	$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
88	`$(AFMNAME) $(afmdir)/Courier.afm` $(TEXTMAP) $@
89
90CB:
91	$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
92	`$(AFMNAME) $(afmdir)/Courier-Bold.afm` $(TEXTMAP) $@
93
94CI:
95	$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
96	`$(AFMNAME) $(afmdir)/Courier-Oblique.afm` $(TEXTMAP) $@
97
98CBI:
99	$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
100	`$(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` $(TEXTMAP) $@
101
102PR:
103	$(AFMTODIT) $(EFLAG) $(RFLAG) \
104	`$(AFMNAME) $(afmdir)/Palatino-Roman.afm` $(TEXTMAP) $@
105
106PB:
107	$(AFMTODIT) $(EFLAG) $(RFLAG) \
108	`$(AFMNAME) $(afmdir)/Palatino-Bold.afm` $(TEXTMAP) $@
109
110PI:
111	$(AFMTODIT) $(EFLAG) $(IFLAG) \
112	`$(AFMNAME) $(afmdir)/Palatino-Italic.afm` $(TEXTMAP) $@
113
114PBI:
115	$(AFMTODIT) $(EFLAG) $(IFLAG) \
116	`$(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` $(TEXTMAP) $@
117
118NR:
119	$(AFMTODIT) $(EFLAG) $(RFLAG) \
120	`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm` $(TEXTMAP) $@
121
122NB:
123	$(AFMTODIT) $(EFLAG) $(RFLAG) \
124	`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm` $(TEXTMAP) $@
125
126NI:
127	$(AFMTODIT) $(EFLAG) $(IFLAG) \
128	`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm` $(TEXTMAP) $@
129
130NBI:
131	$(AFMTODIT) $(EFLAG) $(IFLAG) \
132	`$(AFMNAME) $(afmdir)/NewCenturySchlbk-BoldItalic.afm` $(TEXTMAP) $@
133
134BMR:
135	$(AFMTODIT) $(EFLAG) $(RFLAG) \
136	`$(AFMNAME) $(afmdir)/Bookman-Light.afm` $(TEXTMAP) $@
137
138BMB:
139	$(AFMTODIT) $(EFLAG) $(RFLAG) \
140	`$(AFMNAME) $(afmdir)/Bookman-Demi.afm` $(TEXTMAP) $@
141
142BMI:
143	$(AFMTODIT) $(EFLAG) $(IFLAG) \
144	`$(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` $(TEXTMAP) $@
145
146BMBI:
147	$(AFMTODIT) $(EFLAG) $(IFLAG) \
148	`$(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` $(TEXTMAP) $@
149
150AR:
151	$(AFMTODIT) $(EFLAG) $(RFLAG) \
152	`$(AFMNAME) $(afmdir)/AvantGarde-Book.afm` $(TEXTMAP) $@
153
154AB:
155	$(AFMTODIT) $(EFLAG) $(RFLAG) \
156	`$(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` $(TEXTMAP) $@
157
158AI:
159	$(AFMTODIT) $(EFLAG) $(IFLAG) \
160	`$(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm` $(TEXTMAP) $@
161
162ABI:
163	$(AFMTODIT) $(EFLAG) $(IFLAG) \
164	`$(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm` $(TEXTMAP) $@
165
166HNR:
167	$(AFMTODIT) $(EFLAG) $(RFLAG) \
168	`$(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` $(TEXTMAP) $@
169
170HNB:
171	$(AFMTODIT) $(EFLAG) $(RFLAG) \
172	`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm` $(TEXTMAP) $@
173
174HNI:
175	$(AFMTODIT) $(EFLAG) $(IFLAG) \
176	`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Oblique.afm` $(TEXTMAP) $@
177
178HNBI:
179	$(AFMTODIT) $(EFLAG) $(IFLAG) \
180	`$(AFMNAME) $(afmdir)/Helvetica-Narrow-BoldOblique.afm` $(TEXTMAP) $@
181
182ZCMI:
183	$(AFMTODIT) $(EFLAG) $(IFLAG) \
184	`$(AFMNAME) $(afmdir)/ZapfChancery-MediumItalic.afm` $(TEXTMAP) $@
185
186ZD:
187	$(AFMTODIT) -s $(RFLAG) \
188	`$(AFMNAME) $(afmdir)/ZapfDingbats.afm` $(srcdir)/dingbats.map $@
189
190SS: $(srcdir)/symbolsl.afm
191	$(AFMTODIT) -s -x $(IFLAG) \
192	$(srcdir)/symbolsl.afm $(srcdir)/lgreekmap $@
193
194S: symbol.afm
195	$(AFMTODIT) -s $(RFLAG) symbol.afm symbolmap $@
196
197ZDR: zapfdr.afm
198	$(AFMTODIT) -s $(RFLAG) zapfdr.afm $(srcdir)/dingbats.rmap $@
199
200# the map is just a dummy
201EURO: freeeuro.afm
202	$(AFMTODIT) $(RFLAG) freeeuro.afm symbolmap $@
203
204freeeuro.afm freeeuro.pfa: generate/freeeuro.sfd
205	pfaedit -script generate/sfdtopfa.pe generate/freeeuro.sfd
206
207symbol.afm: $(srcdir)/symbol.sed
208	-rm -f $@
209	sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` >$@
210
211zapfdr.afm:
212	-rm -f $@
213	sed -e '/^FontName /s/ZapfDingbats/ZapfDingbats-Reverse/' \
214	  `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$@
215
216ZD: $(srcdir)/dingbats.map
217ZDR: $(srcdir)/dingbats.rmap
218$(TEXTFONTS): $(TEXTMAP) $(TEXTENC)
219$(SPECIALFONTS): symbolmap
220$(GREEKFONTS): $(srcdir)/lgreekmap
221$(FONTS): $(DESC)
222
223symbolmap: $(TEXTMAP) $(srcdir)/symbolchars
224	echo '#' >$@
225	echo '# This is a list of all predefined groff symbols.' >>$@
226	echo '#' >>$@
227	cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
228
229clean:
230	-rm -f symbolmap symbol.afm zapfdr.afm
231
232realclean: clean
233	-rm -f $(FONTS)
234
235extraclean: realclean
236	-rm -f core *~ "#*"
237
238.PHONY: all clean realclean extraclean
239
240