]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/metafont-rules.make
Build: Dependencies for metafont files (issue 779).
[lilypond.git] / stepmake / stepmake / metafont-rules.make
index dfae13f1b454ff224607918e2637b4cd7538de9d..5be005a1985dc7e998a0d85df79b40c48f4784fe 100644 (file)
@@ -2,26 +2,35 @@
 
 # we want to see botched results as well.
 $(outdir)/%.dvi: %.mf
-       -MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;"
+       -$(DO_MF_DEP) MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;"
        gftodvi $(basename $<)
        mv $(basename $<).dvi $(outdir)
        rm $(basename $<).*gf
 
 $(outdir)/%.tfm $(outdir)/%.log: %.mf
-       MFINPUTS=$(src-dir) $(METAFONT) "\mode:=$(MFMODE); nonstopmode; input $<;"
+       $(DO_MF_DEP) MFINPUTS=$(src-dir) $(METAFONT) "\mode:=$(MFMODE); nonstopmode; input $<;" $(METAFONT_QUIET)
 # 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
 
 # ugh . mf2pt1 is extremely broken, it pollutes CWD iso. creating a
 # temp dir.
-$(outdir)/%.pfb: %.mf $(outdir)/mf2pt1.mem
-       TMP=`mktemp -d $(outdir)/pfbtemp.XXXXXXXXX` \
+#
+# the soft link for mf2pt1.mp is for recent mpost versions
+# which no longer dump a .mem file
+$(outdir)/%.pfb: %.mf $(outdir)/mf2pt1.mem $(outdir)/%.log
+       $(DO_MF_DEP) TMP=`mktemp -d $(outdir)/pfbtemp.$*.XXXXXXXXX` \
        && ( cd $$TMP \
                && ln -s ../mf2pt1.mem . \
-               && MFINPUTS=$(src-dir):..:: $(PERL) $(top-src-dir)/buildscripts/mf2pt1.pl $(MF2PT1_OPTIONS) $< ) \
+               && ln -s ../../mf2pt1.mp . \
+               && MFINPUTS=$(abs-src-dir):..:: $(buildscript-dir)/mf2pt1 $(MF2PT1_OPTIONS) $< $(METAFONT_QUIET)) \
        && mv $$TMP/*pfb $(outdir); \
        rm -rf $$TMP
 
+# since recent mpost versions no longer create a mem file, we create a dummy
+# file to satisfy the dependency (which gets overwritten in case an older
+# mpost creates a real mem file)
 $(outdir)/mf2pt1.mem: mf2pt1.mp
-       cd $(outdir) && mpost -progname=mpost -ini $(top-src-dir)/mf/mf2pt1.mp \\dump
+       cd $(outdir) \
+          && touch mf2pt1.mem \
+          && mpost -progname=mpost -ini $(top-src-dir)/mf/mf2pt1.mp \\dump