]> 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 e71a9502bce5ebbcab83b442882676870067e3f4..5b6ad17d91a0a204a1470509e61ea3cdac5e19e7 100644 (file)
@@ -1,43 +1,36 @@
-
 # Don't remove $(outdir)/.log's.  Logs are a target!
 
 # we want to see botched results as well.
 $(outdir)/%.dvi: %.mf
-       -$(METAFONT) "\nonstopmode; input $<;"
-       gftodvi  $(basename $<)
+       -MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;"
+       gftodvi $(basename $<)
        mv $(basename $<).dvi $(outdir)
        rm $(basename $<).*gf
 
-# This is not metafont, this is feta-specific
-$(outdir)/%.log: %.mf
-       $(METAFONT) $<
-       mv $(@F) $@
-       rm $(basename $(@F)).*gf
-
-$(outdir)/%.tfm $(outdir)%.log: %.mf
-       $(METAFONT) "\mode:=$(MFMODE); nonstopmode; input $<;"
+$(outdir)/%.tfm $(outdir)/%.log: %.mf
+       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 $(basename $(@F)).*gf 
-
-$(outdir)/%.$(XPM_RESOLUTION)gf: %.mf
-       $(METAFONT) "\\mode=$(XPM_MODE); \\input $<"
-# Let's keep this log output, it saves another mf run.
-       mv $(@F) $(basename $(@F)).log $(basename $(@F)).tfm $(outdir)
-
-$(outdir)/%.$(XPM_RESOLUTION)pk: $(outdir)/%.$(XPM_RESOLUTION)gf
-       gftopk $< $@
-
-
-$(outdir)/%.pfa: %.mf
-       $(MFTRACE) $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --simplify --keep-trying $(basename $(@F))
-       mv $(basename $(@F)).pfa $(outdir)
-
-$(outdir)/%.pfb: %.mf
-       $(MFTRACE)  $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --pfb --simplify --keep-trying  $(basename $(@F))
-       -mv $(basename $(@F)).pfa $(outdir)
-       mv $(basename $(@F)).pfb $(outdir)
-
-#%.afm:
-#      $(SHELL) $(depth)/buildscripts/tfmtoafm.sh $(shell basename $@ .afm)
-#      mv $@ $@.in
+       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
+
+# 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