]> 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 b33bd10be6919f7db261dfb56714e1fa2ff04769..5b6ad17d91a0a204a1470509e61ea3cdac5e19e7 100644 (file)
@@ -8,16 +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.
+#
+# 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
 
-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)
+# 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