X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Fmetafont-rules.make;h=1db797468fbcd034afc444970f5de8386d9ac406;hb=99b6f3aa3558b01c9d4158b19a1f1794c534f89c;hp=df23a2fb43e5414e3946c2241ad1ba7d07274413;hpb=b71bb68fd8b36ec4b00cfec5e620c53087983fc0;p=lilypond.git diff --git a/stepmake/stepmake/metafont-rules.make b/stepmake/stepmake/metafont-rules.make index df23a2fb43..1db797468f 100644 --- a/stepmake/stepmake/metafont-rules.make +++ b/stepmake/stepmake/metafont-rules.make @@ -1,17 +1,38 @@ +# Don't remove $(outdir)/.log's. Logs are a target! +# we want to see botched results as well. $(outdir)/%.dvi: %.mf - mf $< - gftodvi $(basename $<) - mv $(basename $<).dvi $(outdir) + -$(DO_MF_DEP) MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;" + gftodvi $(basename $<) + mv $(basename $<).dvi $(outdir) rm $(basename $<).*gf -$(outdir)/%.log: %.mf - mf $< - mv $(@F) $@ - rm $(basename $< ).*gf +$(outdir)/%.tfm $(outdir)/%.log: %.mf + $(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. +# +# 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 . \ + && ln -s ../../mf2pt1.mp . \ + && MFINPUTS=$(abs-src-dir):..:: \ + FONTFORGE=$(FONTFORGE) \ + $(buildscript-dir)/mf2pt1 $(MF2PT1_OPTIONS) $< $(METAFONT_QUIET)) \ + && mv $$TMP/*pfb $(outdir); \ + rm -rf $$TMP -$(outdir)/%.tfm: %.mf - mf '\mode:=ljfour; input $<;' - mv $(@F) $(outdir) - rm $(basename $<).*gf $(basename $<).*log +# 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