]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/metafont-rules.make
Clean fonts and docs makefiles, trying to fix 'make -j' race conditions
[lilypond.git] / stepmake / stepmake / metafont-rules.make
index 71cd6f1bda8d7b47c13e7ca36f61d23f3c2b4aa7..5b6ad17d91a0a204a1470509e61ea3cdac5e19e7 100644 (file)
@@ -8,20 +8,29 @@ $(outdir)/%.dvi: %.mf
        rm $(basename $<).*gf
 
 $(outdir)/%.tfm $(outdir)/%.log: %.mf
-       MFINPUTS=$(src-dir) $(METAFONT) "\mode:=$(MFMODE); nonstopmode; input $<;"
+       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` ; \
-               ( cd $$TMP ; \
-               ln -s ../mf2pt1.mem . ; \
-               MFINPUTS=../..:../:: $(PERL) ../../$(buildscript-dir)/mf2pt1.pl $(MF2PT1_OPTIONS) $< ) ; \
-               mv $$TMP/*pfb $(outdir) ; \
-               rm -rf $$TMP
+#
+# 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
+       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
 
-$(outdir)/mf2pt1.mem:
-       cd $(outdir) && mpost -progname=mpost -ini ../mf2pt1 \\dump
+# 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) \
+          && touch mf2pt1.mem \
+          && mpost -progname=mpost -ini $(top-src-dir)/mf/mf2pt1.mp \\dump