1#  Makefile for Mona font
2#  by 1@2ch, 2002, public domain
3#  $Id: Makefile,v 1.10 2003/09/10 02:54:10 s42335 Exp $
4
5VERSION = 2.90
6
7## Machine dependent
8
9SED_CMD		= sed
10PERL_CMD	= perl
11
12# for XFree86
13GZIP_CMD	= gzip
14GZIP_SUFFIX	= gz
15
16# for traditional Xserver (SunOS, HP-UX, Tru64 etc.)
17#GZIP_CMD	= compress
18#GZIP_SUFFIX	= Z
19
20DESTDIR		=
21X11FONTDIR	= $(DESTDIR)$(FONTSDIR)
22BDFTOPCF	= bdftopcf
23MKDIRHIER	= mkdir -p	# 'mkdir -p' may also work.
24MKFONTDIR	= mkfontdir
25
26MY_RPM_ROOT	= /tmp/rpm-root
27
28## Other macros
29
30BIT2BDF	= $(PERL_CMD) tools/bit2bdf
31BDFMERGE= $(PERL_CMD) tools/bdfmerge
32MKBOLD	= $(PERL_CMD) tools/mkbold -V
33MKITALIC= $(PERL_CMD) tools/mkitalic -V
34ADJUST	= $(PERL_CMD) tools/adjust
35JIS2UNICODE= $(PERL_CMD) ttftools/jis2unicode -b
36MKISO8859= $(SED_CMD) 's/@@REGISTRY@@/ISO8859/g;s/@@ENCODING@@/1/g;'
37MKJISX0201= $(SED_CMD) 's/@@REGISTRY@@/JISX0201.1976/g;s/@@ENCODING@@/0/g;'
38MKJISX0208= $(SED_CMD) 's/@@REGISTRY@@/JISX0208.1990/g;s/@@ENCODING@@/0/g;'
39MKISO10646= $(SED_CMD) 's/@@REGISTRY@@/ISO10646/g;s/@@ENCODING@@/1/g;'
40
41BDF =	mona6x12a mona6x12aB mona6x12aI mona6x12aBI \
42	mona6x12r mona6x12rB mona6x12rI mona6x12rBI \
43	mona7x14a mona7x14aB mona7x14aI mona7x14aBI \
44	mona7x14r mona7x14rB mona7x14rI mona7x14rBI \
45	mona8x16a mona8x16aB mona8x16aI mona8x16aBI \
46	mona8x16r mona8x16rB mona8x16rI mona8x16rBI \
47	monak12 monak12B monak12I monak12BI \
48	monau12 monau12B monau12I monau12BI \
49	monak14 monak14B monak14I monak14BI \
50	monau14 monau14B monau14I monau14BI \
51	monak16 monak16B monak16I monak16BI \
52	monau16 monau16B monau16I monau16BI
53
54## Dependencies
55
56bdf:	bdf-normal bdf-bold bdf-italic bdf-bold-italic
57
58bdf-normal:	dist/mona6x12a.bdf dist/mona6x12r.bdf \
59		dist/mona7x14a.bdf dist/mona7x14r.bdf \
60		dist/mona8x16a.bdf dist/mona8x16r.bdf \
61		dist/monak12.bdf \
62		dist/monau12.bdf \
63		dist/monak14.bdf \
64		dist/monau14.bdf \
65		dist/monak16.bdf \
66		dist/monau16.bdf
67bdf-bold:	dist/mona6x12aB.bdf dist/mona6x12rB.bdf \
68		dist/mona7x14aB.bdf dist/mona7x14rB.bdf \
69		dist/mona8x16aB.bdf dist/mona8x16rB.bdf \
70		dist/monak12B.bdf \
71		dist/monau12B.bdf \
72		dist/monak14B.bdf \
73		dist/monau14B.bdf \
74		dist/monak16B.bdf \
75		dist/monau16B.bdf
76bdf-italic:	dist/mona6x12aI.bdf dist/mona6x12rI.bdf \
77		dist/mona7x14aI.bdf dist/mona7x14rI.bdf \
78		dist/mona8x16aI.bdf dist/mona8x16rI.bdf \
79		dist/monak12I.bdf \
80		dist/monau12I.bdf \
81		dist/monak14I.bdf \
82		dist/monau14I.bdf \
83		dist/monak16I.bdf \
84		dist/monau16I.bdf
85bdf-bold-italic:dist/mona6x12aBI.bdf dist/mona6x12rBI.bdf \
86		dist/mona7x14aBI.bdf dist/mona7x14rBI.bdf \
87		dist/mona8x16aBI.bdf dist/mona8x16rBI.bdf \
88		dist/monak12BI.bdf \
89		dist/monau12BI.bdf \
90		dist/monak14BI.bdf \
91		dist/monau14BI.bdf \
92		dist/monak16BI.bdf \
93		dist/monau16BI.bdf
94
95# primary bitmaps
96
97# ASCII (iso8859)
98dist/mona6x12a.bdf: src/mona6x12.bit0 src/mona6x12a.bit1
99	$(BDFMERGE) src/mona6x12.bit0 src/mona6x12a.bit1 | \
100		$(MKISO8859) | $(BIT2BDF) > dist/mona6x12a.bdf
101dist/mona7x14a.bdf: src/mona7x14.bit0 src/mona7x14a.bit1
102	$(BDFMERGE) src/mona7x14.bit0 src/mona7x14a.bit1 | \
103		$(MKISO8859) | $(BIT2BDF) > dist/mona7x14a.bdf
104dist/mona8x16a.bdf: src/mona8x16.bit0 src/mona8x16a.bit1
105	$(BDFMERGE) src/mona8x16.bit0 src/mona8x16a.bit1 | \
106		$(MKISO8859) | $(BIT2BDF) > dist/mona8x16a.bdf
107
108# HANKAKU-KANA (jisx0201.1976)
109dist/mona6x12r.bdf: src/mona6x12.bit0 src/mona6x12r.bit1
110	$(BDFMERGE) src/mona6x12.bit0 src/mona6x12r.bit1 | \
111		$(MKJISX0201) | $(BIT2BDF) > dist/mona6x12r.bdf
112dist/mona7x14r.bdf: src/mona7x14.bit0 src/mona7x14r.bit1
113	$(BDFMERGE) src/mona7x14.bit0 src/mona7x14r.bit1 | \
114		$(MKJISX0201) | $(BIT2BDF) > dist/mona7x14r.bdf
115dist/mona8x16r.bdf: src/mona8x16.bit0 src/mona8x16r.bit1
116	$(BDFMERGE) src/mona8x16.bit0 src/mona8x16r.bit1 | \
117		$(MKJISX0201) | $(BIT2BDF) > dist/mona8x16r.bdf
118
119# KANJI (jisx0208.1990)
120dist/monak12.bdf: src/monak12-base.bit src/monak12-ext.bit
121	$(BDFMERGE) src/monak12-base.bit src/monak12-ext.bit | \
122		$(MKJISX0208) | $(BIT2BDF) > dist/monak12.bdf
123dist/monak14.bdf: src/monak14-base.bit src/monak14-ext.bit
124	$(BDFMERGE) src/monak14-base.bit src/monak14-ext.bit | \
125		$(MKJISX0208) | $(BIT2BDF) > dist/monak14.bdf
126dist/monak16.bdf: src/monak16-base.bit src/monak16-ext.bit
127	$(BDFMERGE) src/monak16-base.bit src/monak16-ext.bit | \
128		$(MKJISX0208) | $(BIT2BDF) > dist/monak16.bdf
129
130# UNICODE (iso10646)
131dist/monau12.bdf: src/mona6x12.bit0 src/mona6x12a.bit1 src/mona6x12r.bit1 \
132		   src/monak12-base.bit src/monak12-ext.bit src/monak12-uext.bit
133	$(JIS2UNICODE) src/monak12-base.bit src/monak12-ext.bit src/mona6x12r.bit1 | \
134		$(MKISO10646) | \
135		$(BDFMERGE) - src/monak12-uext.bit src/mona6x12.bit0 src/mona6x12a.bit1 |\
136		$(BIT2BDF) > dist/monau12.bdf
137dist/monau14.bdf: src/mona7x14.bit0 src/mona7x14a.bit1 src/mona7x14r.bit1 \
138		   src/monak14-base.bit src/monak14-ext.bit src/monak14-uext.bit
139	$(JIS2UNICODE) src/monak14-base.bit src/monak14-ext.bit src/mona7x14r.bit1 | \
140		$(MKISO10646) | \
141		$(BDFMERGE) - src/monak14-uext.bit src/mona7x14.bit0 src/mona7x14a.bit1 |\
142		$(BIT2BDF) > dist/monau14.bdf
143dist/monau16.bdf: src/mona8x16.bit0 src/mona8x16a.bit1 src/mona8x16r.bit1 \
144		   src/monak16-base.bit src/monak16-ext.bit src/monak16-uext.bit
145	$(JIS2UNICODE) src/monak16-base.bit src/monak16-ext.bit src/mona8x16r.bit1 | \
146		$(MKISO10646) | \
147		$(BDFMERGE) - src/monak16-uext.bit src/mona8x16.bit0 src/mona8x16a.bit1 |\
148		$(BIT2BDF) > dist/monau16.bdf
149
150
151# modified bitmaps
152
153dist/mona6x12aB.bdf: dist/mona6x12a.bdf
154	$(MKBOLD) dist/mona6x12a.bdf > dist/mona6x12aB.bdf
155dist/mona6x12rB.bdf: dist/mona6x12r.bdf
156	$(MKBOLD) dist/mona6x12r.bdf > dist/mona6x12rB.bdf
157dist/mona6x12aI.bdf: dist/mona6x12a.bdf
158	$(MKITALIC) dist/mona6x12a.bdf > dist/mona6x12aI.bdf
159dist/mona6x12rI.bdf: dist/mona6x12r.bdf
160	$(MKITALIC) dist/mona6x12r.bdf > dist/mona6x12rI.bdf
161dist/mona6x12aBI.bdf: dist/mona6x12aI.bdf
162	$(MKBOLD) dist/mona6x12aI.bdf > dist/mona6x12aBI.bdf
163dist/mona6x12rBI.bdf: dist/mona6x12rI.bdf
164	$(MKBOLD) dist/mona6x12rI.bdf > dist/mona6x12rBI.bdf
165
166dist/mona7x14aB.bdf: dist/mona7x14a.bdf
167	$(MKBOLD) dist/mona7x14a.bdf > dist/mona7x14aB.bdf
168dist/mona7x14rB.bdf: dist/mona7x14r.bdf
169	$(MKBOLD) dist/mona7x14r.bdf > dist/mona7x14rB.bdf
170dist/mona7x14aI.bdf: dist/mona7x14a.bdf
171	$(MKITALIC) dist/mona7x14a.bdf > dist/mona7x14aI.bdf
172dist/mona7x14rI.bdf: dist/mona7x14r.bdf
173	$(MKITALIC) dist/mona7x14r.bdf > dist/mona7x14rI.bdf
174dist/mona7x14aBI.bdf: dist/mona7x14aI.bdf
175	$(MKBOLD) dist/mona7x14aI.bdf > dist/mona7x14aBI.bdf
176dist/mona7x14rBI.bdf: dist/mona7x14rI.bdf
177	$(MKBOLD) dist/mona7x14rI.bdf > dist/mona7x14rBI.bdf
178
179dist/mona8x16aB.bdf: dist/mona8x16a.bdf
180	$(MKBOLD) dist/mona8x16a.bdf > dist/mona8x16aB.bdf
181dist/mona8x16rB.bdf: dist/mona8x16r.bdf
182	$(MKBOLD) dist/mona8x16r.bdf > dist/mona8x16rB.bdf
183dist/mona8x16aI.bdf: dist/mona8x16a.bdf
184	$(MKITALIC) dist/mona8x16a.bdf > dist/mona8x16aI.bdf
185dist/mona8x16rI.bdf: dist/mona8x16r.bdf
186	$(MKITALIC) dist/mona8x16r.bdf > dist/mona8x16rI.bdf
187dist/mona8x16aBI.bdf: dist/mona8x16aI.bdf
188	$(MKBOLD) dist/mona8x16aI.bdf > dist/mona8x16aBI.bdf
189dist/mona8x16rBI.bdf: dist/mona8x16rI.bdf
190	$(MKBOLD) dist/mona8x16rI.bdf > dist/mona8x16rBI.bdf
191
192dist/monak12B.bdf: dist/monak12.bdf
193	$(MKBOLD) dist/monak12.bdf > dist/monak12B.bdf
194dist/monak12I.bdf: dist/monak12.bdf
195	$(MKITALIC) dist/monak12.bdf > dist/monak12I.bdf
196dist/monak12BI.bdf: dist/monak12I.bdf
197	$(MKBOLD) dist/monak12I.bdf > dist/monak12BI.bdf
198dist/monau12B.bdf: dist/monau12.bdf
199	$(MKBOLD) dist/monau12.bdf > dist/monau12B.bdf
200dist/monau12I.bdf: dist/monau12.bdf
201	$(MKITALIC) dist/monau12.bdf > dist/monau12I.bdf
202dist/monau12BI.bdf: dist/monau12I.bdf
203	$(MKBOLD) dist/monau12I.bdf > dist/monau12BI.bdf
204
205dist/monak14B.bdf: dist/monak14.bdf
206	$(MKBOLD) dist/monak14.bdf > dist/monak14B.bdf
207dist/monak14I.bdf: dist/monak14.bdf
208	$(MKITALIC) dist/monak14.bdf > dist/monak14I.bdf
209dist/monak14BI.bdf: dist/monak14I.bdf
210	$(MKBOLD) dist/monak14I.bdf > dist/monak14BI.bdf
211dist/monau14B.bdf: dist/monau14.bdf
212	$(MKBOLD) dist/monau14.bdf > dist/monau14B.bdf
213dist/monau14I.bdf: dist/monau14.bdf
214	$(MKITALIC) dist/monau14.bdf > dist/monau14I.bdf
215dist/monau14BI.bdf: dist/monau14I.bdf
216	$(MKBOLD) dist/monau14I.bdf > dist/monau14BI.bdf
217
218dist/monak16B.bdf: dist/monak16.bdf
219	$(MKBOLD) dist/monak16.bdf > dist/monak16B.bdf
220dist/monak16I.bdf: dist/monak16.bdf
221	$(MKITALIC) dist/monak16.bdf > dist/monak16I.bdf
222dist/monak16BI.bdf: dist/monak16I.bdf
223	$(MKBOLD) dist/monak16I.bdf > dist/monak16BI.bdf
224dist/monau16B.bdf: dist/monau16.bdf
225	$(MKBOLD) dist/monau16.bdf > dist/monau16B.bdf
226dist/monau16I.bdf: dist/monau16.bdf
227	$(MKITALIC) dist/monau16.bdf > dist/monau16I.bdf
228dist/monau16BI.bdf: dist/monau16I.bdf
229	$(MKBOLD) dist/monau16I.bdf > dist/monau16BI.bdf
230
231
232##  Utilities
233
234# clean
235clean:
236	-rm dist/*.bdf dist/fonts.dir *~ .*~
237ttfclean:
238	cd ttfsrc; make clean
239
240# packing
241pack: clean ttfclean
242	cd ..; tar c --numeric-owner --exclude CVS --bzip2 --dereference \
243		 -f monafont-$(VERSION).tar.bz2 monafont-$(VERSION)
244	cd ..; tar c --numeric-owner --exclude CVS --bzip2 --dereference \
245		 -f ttftinker-$(VERSION).tar.bz2 ttftinker-$(VERSION)
246rpm: clean ttfclean
247	cd ..; tar c --numeric-owner --exclude CVS --bzip2 --dereference \
248		 -f $(MY_RPM_ROOT)/SOURCES/monafont-$(VERSION).tar.bz2 monafont-$(VERSION)
249	rpm -ba monafont.spec
250
251# install
252install: bdf
253	if [ ! -d $(X11FONTDIR) ]; then \
254		$(MKDIRHIER) $(X11FONTDIR); \
255	fi
256	for i in $(BDF); do \
257		$(BDFTOPCF) dist/$$i.bdf | \
258		$(GZIP_CMD) -c > $(X11FONTDIR)/$$i.pcf.$(GZIP_SUFFIX); \
259	done
260
261# append fonts.alias
262install-alias:
263	cat fonts.alias.mona >> $(X11FONTDIR)/fonts.alias
264