-$(outdir)/Fontmap.lily:
- for i in $(FETA_FONTS); do echo "/$$i ($$i.pfa);" ; done > $@
- for i in $(STAFF_SIZES); \
- do echo "/Emmentaler-$$i (emmentaler-$$i.cff.ps);" ; done \
- do echo "/PFAEmmentaler-$$i (PFAemmentaler-$$i.pfa);" ; done \
- >> $@
- echo "/Aybabtu (aybabtu.cff.ps);" >> $@
- echo "/PFAAybabtu (PFAaybabtu.pfa);" >> $@
+# only for fonts which
+#
+# 1. are mentioned in font.scm
+#
+# 2. are not included with teTeX
+#
+$(outdir)/%.lisp \
+$(outdir)/%.otf-gtable \
+$(outdir)/%.enc \
+$(outdir)/%.pe: $(outdir)/%.log $(outdir)/%.tfm
+ $(buildscript-dir)/mf-to-table \
+ --global-lisp=$(outdir)/$(<F:.log=.otf-gtable) \
+ --lisp=$(outdir)/$(<F:.log=.lisp) \
+ --outdir=$(outdir) \
+ --enc $(outdir)/$(<F:.log=.enc) \
+ $<
+
+## Putting pfb here forces all .pfb fonts to be built before
+# fontforge starts generating emmentaler-*.* fonts.
+$(outdir)/emmentaler-%.otf \
+$(outdir)/emmentaler-%.svg \
+$(outdir)/emmentaler-%.woff: $(outdir)/emmentaler-%.pe \
+ $(outdir)/feta%.pfb \
+ $(outdir)/feta-noteheads%.pfb \
+ $(outdir)/feta-flags%.pfb \
+ $(outdir)/feta-alphabet%.pfb \
+ $(outdir)/parmesan%.pfb \
+ $(outdir)/parmesan-noteheads%.pfb \
+ $(outdir)/feta%.otf-table \
+ $(outdir)/feta%.otf-gtable \
+ | pfb
+ cd $(outdir) && $(FONTFORGE) -script $(notdir $<)
+
+$(outdir)/emmentaler-brace.otf\
+ $(outdir)/emmentaler-brace.svg\
+ $(outdir)/emmentaler-brace.woff: $(outdir)/emmentaler-brace.pe\
+ $(foreach s,$(BRACES),$(outdir)/feta-braces-$(s).pfb) \
+ $(outdir)/emmentaler-brace.otf-table $(outdir)/emmentaler-brace.otf-gtable \
+ | pfb
+ cd $(outdir) && $(FONTFORGE) -script emmentaler-brace.pe
+
+default: $(ALL_GEN_FILES) \
+ $(outdir)/emmentaler-20.otf \
+ tree-regen \
+ $(outdir)/fonts.conf
+
+.PHONY: tree-regen
+
+# FIXME: temporary hack: must regenerate after building fonts
+tree-regen: $(ALL_GEN_FILES)
+ ${MAKE} -C $(top-build-dir) link-mf-tree
+
+$(outdir)/%.lisp \
+$(outdir)/%.otf-gtable \
+$(outdir)/%.enc \
+$(outdir)/%.pe: $(outdir)/%.log $(outdir)/%.tfm
+ $(buildscript-dir)/mf-to-table \
+ --global-lisp=$(outdir)/$(<F:.log=.otf-gtable) \
+ --lisp=$(outdir)/$(<F:.log=.lisp) \
+ --outdir=$(outdir) \
+ --enc $(outdir)/$(<F:.log=.enc) \
+ $<