-$(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 $< $@
+# ugh . mf2pt1 is extremely broken, it pollutes CWD iso. creating a
+# temp dir.
+#
+# the soft link for mf2pt1.mp is for recent mpost versions
+# which no longer dump a .mem file
+$(outdir)/%.pfb: %.mf $(outdir)/mf2pt1.mem
+ TMP=`mktemp -d $(outdir)/pfbtemp.XXXXXXXXX` \
+ && ( cd $$TMP \
+ && ln -s ../mf2pt1.mem . \
+ && ln -s ../../mf2pt1.mp . \
+ && MFINPUTS=$(abs-src-dir):..:: $(buildscript-dir)/mf2pt1 $(MF2PT1_OPTIONS) $< $(METAFONT_QUIET)) \
+ && mv $$TMP/*pfb $(outdir); \
+ rm -rf $$TMP