3 STEPMAKE_TEMPLATES
=metafont
install install-out
4 LOCALSTEPMAKE_TEMPLATES
=asciifont
6 include $(depth
)/make
/stepmake.make
8 AF_FILES
= $(wildcard *.af
)
10 EXTRA_DIST_FILES
+= README feta.
tex
12 # We don't use $(MF_FILES), because there's more .mf cruft here
13 FETA_MF_FILES
= $(wildcard feta
[0-9]*.mf
)\
14 $(wildcard feta-braces
*[0-9].mf
)\
15 $(wildcard feta-din
*[0-9].mf
)\
16 $(wildcard feta-nummer
*[0-9].mf
)\
17 $(wildcard parmesan
[0-9]*.mf
)
19 FETA_FONTS
= $(FETA_MF_FILES
:.mf
=)
21 XPM_FONTS
= feta20 feta-din10 feta-nummer10 feta-braces20 parmesan20
23 LOG_FILES
= $(FETA_MF_FILES
:%.mf
=$(outdir
)/%.log
)
24 TEXTABLES
= $(FETA_MF_FILES
:%.mf
=$(outdir
)/%.
tex)
25 AFM_FILES
= $(FETA_MF_FILES
:%.mf
=$(outdir
)/%.afm
)
26 ENC_FILES
= $(TEXTABLES
:.
tex=.enc
)
27 TFM_FILES
= $(FETA_MF_FILES
:%.mf
=$(outdir
)/%.tfm
)
30 # Make tfm files first, log files last,
31 # so that normally log files aren't made twice
32 ALL_GEN_FILES
= $(TFM_FILES
) $(TEXTABLES
) $(AFM_FILES
) $(TFM_FILES
) $(LOG_FILES
) $(ENC_FILES
)
34 #PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)"
35 INSTALLATION_DIR
=$(local_lilypond_datadir
)/fonts
/source
36 INSTALLATION_FILES
=$(MF_FILES
) $(AF_FILES
)
38 INSTALLATION_OUT_SUFFIXES
=1 2 3 4 5
40 INSTALLATION_OUT_DIR1
=$(local_lilypond_datadir
)/tex
41 INSTALLATION_OUT_FILES1
=$(TEXTABLES
)
43 INSTALLATION_OUT_DIR2
=$(local_lilypond_datadir
)/fonts
/afm
44 INSTALLATION_OUT_FILES2
=$(AFM_FILES
)
46 INSTALLATION_OUT_DIR3
=$(local_lilypond_datadir
)/fonts
/tfm
47 INSTALLATION_OUT_FILES3
=$(TFM_FILES
)
49 # comment this out if you don't want pfa's to be generated
50 # making pfas takes a lot of CPU time. Let's skip it for now.
54 SAUTER_FONTS
= cmbxti7 cmbxti8 cmbxti12 cmbxti14 \
55 cmcsc7 cmcsc12 cmtt17 cmbx14 cmbx17
57 ALL_FONTS
= $(FETA_FONTS
) $(SAUTER_FONTS
)
60 PFA_FILES
= $(ALL_FONTS
:%=$(outdir
)/%.pfa
)
61 PFB_FILES
= $(PFA_FILES
:%.pfa
=%.pfb
)
65 ALL_GEN_FILES
+= $(PFB_FILES
)
69 ALL_GEN_FILES
+= $(PFA_FILES
) $(outdir
)/lilypond.map
$(outdir
)/fonts.scale
70 INSTALLATION_OUT_DIR4
=$(local_lilypond_datadir
)/fonts
/type1
71 INSTALLATION_OUT_FILES4
=$(PFA_FILES
) $(outdir
)/fonts.scale
73 INSTALLATION_OUT_DIR5
=$(local_lilypond_datadir
)/dvips
/
74 INSTALLATION_OUT_FILES5
=$(outdir
)/lilypond.map
78 INSTALLATION_OUT_FILES4
+=$(PFB_FILES
)
81 export MFINPUTS
:=.
:$(MFINPUTS
)
83 default
: $(ALL_GEN_FILES
)
86 ## todo: this also depends on .tfm, FIXME.
87 $(outdir
)/%.afm
$(outdir
)/%.enc
$(outdir
)/%.
tex $(outdir
)/%.dep
: $(outdir
)/%.log
$(outdir
)/%.tfm
88 $(PYTHON
) $(buildscript-dir
)/mf-to-table.py
--package
=$(topdir
) --outdir
=$(outdir
) --dep
$(outdir
)/$(<F
:.log
=.dep
) --afm
$(outdir
)/$(<F
:.log
=.afm
) --enc
$(outdir
)/$(<F
:.log
=.enc
) --tex $(outdir
)/$(<F
:.log
=.
tex) --ly
$(outdir
)/$(<F
:.log
=list.ly
) $<
90 fontdir
: $(addprefix $(outdir
)/, lilypond.map lilypond.sfd private-fonts fonts.scale fonts.
dir)
93 mapentry
=$(1) $(shell fgrep FontName
$(outdir
)/$(1).afm | sed
-e
's/FontName *//') <$(1).pfaX
95 map
= $(foreach a
,$(2),$(call
$(1),$(a
)))
96 $(outdir
)/lilypond.xmap
: $(AFM_FILES
)
97 echo
'$(call map,mapentry,$(ALL_FONTS))' | \
98 tr
'X' '\n' | sed
-e
's/^ *//'> $@
100 # using shell for loop seems most robust
101 $(outdir
)/lilypond.map
: $(AFM_FILES
)
102 for i in
$(FETA_FONTS
); do echo
$$i $$(fgrep FontName
$(outdir
)/$$i.afm | sed
-e
's/FontName *//') '<'$$i.pfa
; done
> $@
103 for i in
$(SAUTER_FONTS
); do echo
"$$i $$i <$$i.pfa"; done
>> $@
106 $(outdir
)/fonts.scale
: $(PFA_FILES
)
107 # cd $(outdir) && echo $(FETA_MF_FILES:.mf=.pfa) $(FETA_MF_FILES:.mf=.pfb) | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F)
108 cd
$(outdir
) && echo
*.pfa
*.pfb |
$(PYTHON
) $(topdir
)/buildscripts
/make-font-dir.py
> $(@F
)
110 $(outdir
)/fonts.
dir: $(outdir
)/fonts.scale
111 cd
$(outdir
) && mkfontdir
114 $(outdir
)/lilypond.sfd
:
115 # cd $(outdir) && echo sketch $(FETA_MF_FILES:.mf=.pfa) | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F)
116 cd
$(outdir
) && echo sketch
*.pfa |
$(PYTHON
) $(topdir
)/buildscripts
/make-font-dir.py
> $(@F
)
119 SODIPODI_FONTS
= parmesan20 feta-braces0 feta-nummer10 feta20
120 $(outdir
)/private-fonts
:
121 cd
$(outdir
) && echo sodipodi
$(SODIPODI_FONTS
:%=%.pfa
) |
$(PYTHON
) $(topdir
)/buildscripts
/make-font-dir.py
> $(@F
)
124 rm -f mfplain.mem mfplain.log
128 pfa
: afm
$(PFA_FILES
) fontdir
129 pfb
: afm
$(PFB_FILES
) fontdir
131 # needed for web documentation
132 $(SAUTER_FONTS
:%=$(outdir
)/%.pfa
):
133 $(foreach i
, $(SAUTER_FONTS
), \
134 $(MFTRACE
) -I
$(outdir
)/ --pfa
--simplify
--keep-trying
$(i
) && mv
$(i
).pfa
$(outdir
)/ && ) true
135 $(SAUTER_FONTS
:%=$(outdir
)/%.pfb
):
136 $(foreach i
, $(SAUTER_FONTS
), \
137 $(MFTRACE
) -I
$(outdir
)/ --pfa
--pfb
--simplify
--keep-trying
$(i
) && mv
$(i
).pfb
$(i
).pfa
$(outdir
)/ && ) true