# Makefile for glonti-fonts

SHELL = /bin/sh
DISTDIR = .

basenames = \
    r5 r6 r7 r8 r9 r10 r12 r17 \
    sl8 sl9 sl10 sl12 \
    ti7 ti8 ti9 ti10 ti12 \
    csc8 csc9 csc10 \
    u10 b10 \
    bx5 bx6 bx7 bx8 bx9 bx10 bx12 \
    bxsl10 bxti10 \
    ss8 ss9 ss10 ss12 ss17 \
    ssi8 ssi9 ssi10 ssi12 ssi17 \
    ssbx10 ssdc10 ssq8 ssqi8 \
    tt8 tt9 tt10 tt12 \
    sltt10 itt10

vf_lcy =  $(addsuffix  .vf,$(addprefix gl,$(basenames)))
tfm_lcy = $(addsuffix .tfm,$(addprefix gl,$(basenames)))
vpl_lcy = $(addsuffix .vpl,$(addprefix gl,$(basenames)))

vf_t2a =  $(addsuffix  .vf,$(addprefix ga,$(basenames)))
tfm_t2a = $(addsuffix .tfm,$(addprefix ga,$(basenames)))
vpl_t2a = $(addsuffix .vpl,$(addprefix ga,$(basenames)))

cmpl = \
    cmr5.pl cmr6.pl cmr7.pl cmr8.pl cmr9.pl cmr10.pl cmr12.pl cmr17.pl \
    cmsl8.pl cmsl9.pl cmsl10.pl cmsl12.pl \
    cmti7.pl cmti8.pl cmti9.pl cmti10.pl cmti12.pl \
    cmcsc8.pl cmcsc9.pl cmcsc10.pl \
    cmu10.pl cmb10.pl \
    cmbx5.pl cmbx6.pl cmbx7.pl cmbx8.pl cmbx9.pl cmbx10.pl cmbx12.pl \
    cmbxsl10.pl cmbxti10.pl \
    cmss8.pl cmss9.pl cmss10.pl cmss12.pl cmss17.pl \
    cmssi8.pl cmssi9.pl cmssi10.pl cmssi12.pl cmssi17.pl \
    cmssbx10.pl cmssdc10.pl cmssq8.pl cmssqi8.pl \
    cmtt8.pl cmtt9.pl cmtt10.pl cmtt12.pl \
    cmsltt10.pl cmitt10.pl

cmcyrpl = \
    cmcyr5.pl cmcyr6.pl cmcyr7.pl cmcyr8.pl cmcyr9.pl cmcyr10.pl cmcyr12.pl cmcyr17.pl \
    cmcsl8.pl cmcsl9.pl cmcsl10.pl cmcsl12.pl \
    cmcti7.pl cmcti8.pl cmcti9.pl cmcti10.pl cmcti12.pl \
    cmccsc8.pl cmccsc9.pl cmccsc10.pl \
    cmcu10.pl cmcb10.pl \
    cmcbx5.pl cmcbx6.pl cmcbx7.pl cmcbx8.pl cmcbx9.pl cmcbx10.pl cmcbx12.pl \
    cmcbxsl10.pl cmcbxti10.pl \
    cmcss8.pl cmcss9.pl cmcss10.pl cmcss12.pl cmcss17.pl \
    cmcssi8.pl cmcssi9.pl cmcssi10.pl cmcssi12.pl cmcssi17.pl \
    cmcssbx10.pl cmcssdc10.pl cmcssq8.pl cmcssqi8.pl \
    cmctt8.pl cmctt9.pl cmctt10.pl cmctt12.pl \
    cmcsltt10.pl cmcitt10.pl

.PHONY: all dist glfonts glinch gafonts gainch

all: glfonts glinch gafonts gainch

dist: $(vf_lcy) $(tfm_lcy) $(vf_t2a) $(tfm_t2a) glinch.vf glinch.tfm gainch.vf gainch.tfm
	mkdir -p $(DISTDIR)
	mkdir -p $(DISTDIR)/vf
	mkdir -p $(DISTDIR)/tfm
	cp -p $(vf_lcy) glinch.vf $(vf_t2a) gainch.vf $(DISTDIR)/vf
	cp -p $(tfm_lcy) glinch.tfm $(tfm_t2a) gainch.tfm $(DISTDIR)/tfm

glfonts: $(vf_lcy) $(tfm_lcy)
$(vpl_lcy): glfonts.tex $(cmpl) $(cmcyrpl)
	fontinst glfonts

glinch: glinch.vf glinch.tfm
glinch.vpl: glinch.tex cminch.pl cmcinch.pl
	fontinst glinch

gafonts: $(vf_t2a) $(tfm_t2a)
$(vpl_t2a): gafonts.tex $(cmpl) $(cmcyrpl)
	fontinst gafonts

gainch: gainch.vf gainch.tfm
gainch.vpl: gainch.tex cminch.pl cmcinch.pl
	fontinst gainch

cmcinch.pl:
	tftopl cmcinch tmp.pl
	sed '3 s/ASCII CAPS/CMCYR CAPS/' tmp.pl >cmcinch.pl
	rm -f tmp.pl

cmccsc%.pl:
	tftopl cmccsc$* tmp.pl
	sed '3 s/TEX TEXT WITHOUT F-LIGATURES/CMCYR CAPS AND SMALL CAPS/' tmp.pl >cmccsc$*.pl
	rm -f tmp.pl

cmcsc%.pl:
	tftopl cmcsc$* cmcsc$*.pl

cmc%.pl:
	tftopl cmc$* tmp.pl
	sed '3 s/TEX TEXT/CMCYR TEXT/' tmp.pl >cmc$*.pl
	rm -f tmp.pl

%.pl:
	tftopl $* $*.pl

%.vf %.tfm: %.vpl
	vptovf $*.vpl $*.vf $*.tfm

.PHONY: clean distclean
clean:
	rm -f *.log *.fd cm*.mtx *.vpl *.vf *.tfm
distclean:
	rm -f *.log *.fd cm*.mtx *.vpl *.vf *.tfm *.pl
