]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/GNUmakefile
remove asciscript.
[lilypond.git] / mf / GNUmakefile
index 1391e1d3d1a988524fed3f02d56d4547cd4cd4aa..54407dfc52c69b037fff3784ad5842dd62f94cc8 100644 (file)
@@ -1,7 +1,6 @@
 depth = ..
 
 STEPMAKE_TEMPLATES=metafont install install-out
-LOCALSTEPMAKE_TEMPLATES=asciifont
 
 include $(depth)/make/stepmake.make 
 
@@ -50,13 +49,8 @@ INSTALLATION_OUT_FILES2=$(AFM_FILES)
 INSTALLATION_OUT_DIR3=$(local_lilypond_datadir)/fonts/tfm
 INSTALLATION_OUT_FILES3=$(TFM_FILES)
 
-# comment this out if you don't want pfa's to be generated
-# making pfas takes a lot of CPU time. Let's skip it for now.
-#MAKE_PFA_FILES=1
-#MAKE_PFB_FILES=1
 
-SAUTER_FONTS = cmbxti7 cmbxti8 cmbxti12 cmbxti14 \
-       cmcsc7 cmcsc12 cmtt17 cmbx14 cmbx17
+SAUTER_FONTS = cmbxti8
 
 ALL_FONTS = $(FETA_FONTS) $(SAUTER_FONTS)
 
@@ -64,31 +58,66 @@ ALL_FONTS = $(FETA_FONTS) $(SAUTER_FONTS)
 PFA_FILES = $(ALL_FONTS:%=$(outdir)/%.pfa)
 PFB_FILES = $(PFA_FILES:%.pfa=%.pfb)
 
-ifdef MAKE_PFB_FILES
-MAKE_PFA_FILES = 1
-ALL_GEN_FILES += $(PFB_FILES)
-endif
-
-ifdef MAKE_PFA_FILES
 ALL_GEN_FILES += $(PFA_FILES) $(outdir)/lilypond.map $(outdir)/fonts.scale
 INSTALLATION_OUT_DIR4=$(local_lilypond_datadir)/fonts/type1
 INSTALLATION_OUT_FILES4=$(PFA_FILES) $(outdir)/fonts.scale
 
 INSTALLATION_OUT_DIR5=$(local_lilypond_datadir)/dvips/
 INSTALLATION_OUT_FILES5=$(outdir)/lilypond.map
-endif
 
-ifdef MAKE_PFB_FILES
-INSTALLATION_OUT_FILES4 +=$(PFB_FILES)
+export MFINPUTS:=.:$(MFINPUTS)
+
+default: pfa_warning $(ALL_GEN_FILES)
+
+
+pfa_warning:
+ifneq ($(basename $(MFTRACE)),mftrace)
+       @echo ""
+       @echo "ERROR: mftrace not found"
+       @echo ""
+       @echo "For obtaining PFA fonts, either install mftrace "
+       @echo "(see http://www.xs4all.nl/~hanwen/mftrace/ ),"
+       @echo "or try one of the following commands in this directory: "
+       @echo ""
+       @echo " make get-pfa "
+       @echo " make get-rpm-pfa "
+       @echo " make get-deb-pfa "
+       @echo ""
+       @echo "These commands will try to download the files from the internet."
+       @false
 endif
 
-export MFINPUTS:=.:$(MFINPUTS)
 
-default: $(ALL_GEN_FILES)
+debian-mirror=http://ftp.us.debian.org
+debian-package =lilypond_$(TOPLEVEL_VERSION)-1_i386.deb
+$(outdir)/$(debian-package):
+       wget --passive-ftp -P $(outdir) $(debian-mirror)/debian/pool/main/l/lilypond/$(debian-package)
+
+get-deb-pfa: $(outdir)/$(debian-package)
+       rm -rf $(outdir)/./usr
+       ar p $< data.tar.gz | \
+               tar -C $(outdir) -zvxf - '*.pfa'
+       touch $(addprefix $(outdir)/, $(addsuffix .bla,$(SAUTER_FONTS)))
+       cp `find $(outdir)/usr/ -name '*.pfa'` $(outdir)/
+
+
+redhat-package=lilypond-$(TOPLEVEL_VERSION)-1.i386.rpm
+$(outdir)/$(redhat-package):
+       wget  --passive-ftp -P $(outdir) ftp://ftp.lilypond.org/pub/LilyPond/binaries/RedHat-9/$(redhat-package)
+
+get-rpm-pfa: $(outdir)/$(redhat-package)
+       cd $(outdir) ; rm -rf usr/ # (root alert!) 
+       cd $(outdir) ; rpm2cpio $(redhat-package) | cpio -uid '*.pfa'
+       touch $(addprefix $(outdir)/, $(addsuffix .bla,$(SAUTER_FONTS)))
+       cp `find $(outdir)/usr/ -name '*.pfa'` $(outdir)/
+
+# change this dependency 
+get-pfa: get-rpm-pfa
+
 
 ##
 ## todo: this also depends on .tfm, FIXME.
-$(outdir)/%.afm  $(outdir)/%.enc  $(outdir)/%.tex $(outdir)/%.dep: $(outdir)/%.log $(outdir)/%.tfm
+$(outdir)/%.afm  $(outdir)/%.enc  $(outdir)/%.tex $(outdir)/%list.ly $(outdir)/%.dep: $(outdir)/%.log $(outdir)/%.tfm
        $(PYTHON) $(buildscript-dir)/mf-to-table.py --package=$(topdir) --outdir=$(outdir) --dep $(outdir)/$(<F:.log=.dep)  --afm $(outdir)/$(<F:.log=.afm)  --enc $(outdir)/$(<F:.log=.enc) --tex $(outdir)/$(<F:.log=.tex) --ly $(outdir)/$(<F:.log=list.ly) $<
 
 fontdir: $(addprefix $(outdir)/, lilypond.map lilypond.sfd private-fonts fonts.scale fonts.dir)
@@ -132,10 +161,12 @@ afm: $(AFM_FILES)
 pfa: afm $(PFA_FILES) fontdir
 pfb: afm $(PFB_FILES) fontdir
 
-# needed for web documentation
-$(SAUTER_FONTS:%=$(outdir)/%.pfa):
-       $(foreach i, $(SAUTER_FONTS), \
-               $(MFTRACE) -I $(outdir)/ --pfa --simplify --keep-trying $(i) && mv $(i).pfa $(outdir)/ && ) true
-$(SAUTER_FONTS:%=$(outdir)/%.pfb):
-       $(foreach i, $(SAUTER_FONTS), \
-               $(MFTRACE) -I $(outdir)/ --pfa --pfb --simplify --keep-trying $(i) && mv $(i).pfb $(i).pfa $(outdir)/ && ) true
+
+# stupid trick to have separate rules for each PFA font ;
+# otherwise building PFAs is all-or-nothing.
+$(SAUTER_FONTS:%=$(outdir)/%.bla):
+       $(foreach i, $@, touch $i && ) true
+
+$(outdir)/%.pfa: $(outdir)/%.bla
+       $(MFTRACE) -I $(outdir)/ --pfa --simplify --keep-trying $(notdir $(basename $@))  && mv $(notdir $@) $(outdir)/
+