+# Don't remove $(outdir)/.log's. Logs are a target!
+# we want to see botched results as well.
$(outdir)/%.dvi: %.mf
- $(METAFONT) $<
- gftodvi $(basename $<)
- mv $(basename $<).dvi $(outdir)
+ -MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;"
+ gftodvi $(basename $<)
+ mv $(basename $<).dvi $(outdir)
rm $(basename $<).*gf
-$(outdir)/%.log: %.mf
- $(METAFONT) $<
- mv $(@F) $@
- rm $(basename $< ).*gf
+$(outdir)/%.tfm $(outdir)/%.log: %.mf
+ MFINPUTS=$(src-dir) $(METAFONT) "\mode:=$(MFMODE); nonstopmode; input $<;"
+# Let's keep this log output, it saves another mf run.
+ mv $(basename $(@F)).log $(basename $(@F)).tfm $(outdir)
+ rm -f $(basename $(@F)).*gf $(basename $(@F)).*pk
-$(outdir)/%.tfm: %.mf
- $(METAFONT) '\mode:=ljfour; input $<;'
- mv $(@F) $(outdir)
- rm $(basename $<).*gf $(basename $<).*log
-
-$(outdir)/%.$(XPM_RESOLUTION)gf: %.mf
- $(METAFONT) "\\mode=$(XPM_MODE); \\input $<"
- mv $(@F) out
- rm -f $(basename $<).log $(basename $<).tfm
-
-$(outdir)/%.$(XPM_RESOLUTION)pk: $(outdir)/%.$(XPM_RESOLUTION)gf
- gftopk $< $@
+MFTRACE_FORMATS = pfa pfb svg
+$(outdir)/%.pfb $(outdir)/%.svg $(outdir)/%.pfa: %.mf
+ MFINPUTS=$(src-dir) $(MFTRACE) $(MFTRACE_FLAGS) -I $(src-dir) -I $(outdir)/ --formats=pfa,pfb,svg $(basename $(@F))
+# -mv $(MFTRACE_FORMATS:%=$(basename $(@F).%)) $(outdir)
+ -mv $(basename $(@F)).pfa $(outdir)
+ -mv $(basename $(@F)).pfb $(outdir)
+ -mv $(basename $(@F)).svg $(outdir)