X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=stepmake%2Fstepmake%2Fmetafont-rules.make;h=6d81f550ac89892ba86107e4054dd13d72160cc6;hb=9446d6a4f83a94754f584d2d973195fd800d1af6;hp=b9e253e1144a9f5c5ff1ebf54ca47d135924bcb3;hpb=4bbb44a0ce9561443efbcbd2f2a0aec90f2ae6e7;p=lilypond.git diff --git a/stepmake/stepmake/metafont-rules.make b/stepmake/stepmake/metafont-rules.make index b9e253e114..6d81f550ac 100644 --- a/stepmake/stepmake/metafont-rules.make +++ b/stepmake/stepmake/metafont-rules.make @@ -1,25 +1,36 @@ +# Don't remove $(outdir)/.log's. Logs are a target! +# we want to see botched results as well. $(outdir)/%.dvi: %.mf - $(METAFONT) $< - gftodvi $(basename $<) - mv $(basename $<).dvi $(outdir) + -MFINPUTS=$(src-dir) $(METAFONT) "\scrollmode; input $<;" + gftodvi $(basename $<) + mv $(basename $<).dvi $(outdir) rm $(basename $<).*gf -$(outdir)/%.log: %.mf - $(METAFONT) $< - mv $(@F) $@ - rm $(basename $< ).*gf +$(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 -f $(basename $(@F)).*gf $(basename $(@F)).*pk -$(outdir)/%.tfm: %.mf - $(METAFONT) '\mode:=ljfour; input $<;' - mv $(@F) $(outdir) - rm $(basename $<).*gf $(basename $<).*log - -$(outdir)/%.$(XPM_RESOLUTION)gf: %.mf - $(METAFONT) "\\mode=$(XPM_MODE); \\input $<" - mv $(@F) out - rm -f $(basename $<).log $(basename $<).tfm - -$(outdir)/%.$(XPM_RESOLUTION)pk: $(outdir)/%.$(XPM_RESOLUTION)gf - gftopk $< $@ +# 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 + 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