X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2FGNUmakefile;h=907788a7752a509b19c682240f021b9d94a92fee;hb=f35d4a9029092ff950da509fd77335e7c61779da;hp=b533da3a4fb410c39b43a7e1a7f5b8c8920bf97e;hpb=a341f45c2cf1494d291ebb21fd64d5c679ee6e19;p=lilypond.git diff --git a/mf/GNUmakefile b/mf/GNUmakefile index b533da3a4f..907788a775 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -1,41 +1,142 @@ -# mf/Makefile - depth = .. -STEPMAKE_TEMPLATES=metafont metapost install install-out +STEPMAKE_TEMPLATES=metafont install install-out +LOCALSTEPMAKE_TEMPLATES=asciifont + + +include $(depth)/make/stepmake.make + +AF_FILES = $(wildcard *.af) + +EXTRA_DIST_FILES += README feta.tex + +# don't try to make fonts from test files +TEST_FILES = $(wildcard *test*.mf) + +# What are these? +FET_FILES = $(filter-out $(TEST_FILES),\ + $(wildcard feta[0-9]*.mf)\ + $(wildcard feta-braces*[0-9].mf)\ + $(wildcard feta-din*[0-9].mf)\ + $(wildcard parmesan[0-9]*.mf))\ -EXTRA_DIST_FILES += TODO README feta.mp mfplain.ini +# No braces? +FONT_FILES = $(filter-out $(TEST_FILES),\ + $(wildcard feta[0-9]*.mf)\ + $(wildcard feta-braces*[0-9].mf)\ + $(wildcard feta-din*[0-9].mf)\ + $(wildcard parmesan[0-9]*.mf))\ -FET_FILES = $(wildcard feta[0-9]*.mf) feta-din10.mf \ - $(wildcard feta-nummer[0-9]*.mf) +XPM_FONTS = feta20 feta-nummer10 feta-braces20 +#CM_AFM_FILES = cmr10 -LYTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.ly)) -LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log)) -TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex)) -AFM_IN_FILES = $(wildcard *.afm.in) -AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) \ - $(addprefix $(outdir)/, $(AFM_IN_FILES:.in=)) -XPM_FONTS = feta20 +$(outdir)/cmr10.afm: + -$(GUILE) $(buildscript-dir)/tfm2oafm.scm `kpsewhich cmr10.tfm` + -mv $(@F) $@ -ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES) +LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log) $(PARMESAN_FILES:.mf=.log)) +TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex) $(PARMESAN_FILES:.mf=.tex)) +AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(PARMESAN_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES))) +ENC_FILES=$(TEXTABLES:.tex=.enc) +TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm)) + +fet: + echo $(FET_FILES) + +# Make tfm files first, log files last, +# so that normally log files aren't made twice +ALL_GEN_FILES= $(TFM_FILES) $(TEXTABLES) $(AFM_FILES) $(TFM_FILES) $(LOG_FILES) $(ENC_FILES) #PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)" -INSTALLATION_DIR=$(datadir)/mf/ -INSTALLATION_FILES=$(MF_FILES) +INSTALLATION_DIR=$(local_lilypond_datadir)/fonts/source +INSTALLATION_FILES=$(MF_FILES) $(AF_FILES) + +INSTALLATION_OUT_SUFFIXES=1 2 3 4 5 + +INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/tex +INSTALLATION_OUT_FILES1=$(TEXTABLES) + +INSTALLATION_OUT_DIR2=$(local_lilypond_datadir)/fonts/afm +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 -INSTALLATION_OUT_DIR=$(datadir)/tex -INSTALLATION_OUT_FILES=$(TEXTABLES) -INSTALLATION_OUT_DIR1=$(datadir)/afm -INSTALLATION_OUT_FILES1=$(AFM_FILES) +SAUTER_FONT_FILES=cmbxti7 cmbxti8 cmbxti12 cmbxti14 cmcsc7 cmcsc12 cmtt17 cmbx14 cmbx17 +#PFA_FILES= $(addprefix $(outdir)/, $(addsuffix .pfa, $(SAUTER_FONT_FILES)) $(FONT_FILES:.mf=.pfa)) +#PFA_FILES= $(addprefix $(outdir)/, $(addsuffix .pfa, $(SAUTER_FONT_FILES))) +#PFB_FILES= $(addprefix $(outdir)/, $(addsuffix .pfb, $(SAUTER_FONT_FILES)) $(FONT_FILES:.mf=.pfb)) +#PFB_FILES= $(addprefix $(outdir)/, $(addsuffix .pfb, $(SAUTER_FONT_FILES)) $(FONT_FILES:.mf=.pfb)) + +PFA_FILES=$(SAUTER_FONT_FILES:%=$(outdir)/%.pfa) +PFA_FILES+=$(FONT_FILES:%.mf=$(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) +endif -INSTALLATION_OUT_DIR2=$(datadir)/ly -INSTALLATION_OUT_FILES2=$(LYTABLES) export MFINPUTS:=.:$(MFINPUTS) -include $(depth)/make/stepmake.make default: $(ALL_GEN_FILES) -$(outdir)/%.afm $(outdir)/%.ly $(outdir)/%.tex $(outdir)/%.dep: $(outdir)/%.log - $(PYTHON) $(buildscripts)/mf-to-table.py --package=$(topdir) --outdir=$(outdir) --dep $(outdir)/$( $@ + +$(outdir)/fonts.scale: $(PFA_FILES) +# cd $(outdir) && echo $(FONT_FILES:.mf=.pfa) $(FONT_FILES:.mf=.pfb) | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F) + cd $(outdir) && echo *.pfa *.pfb | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F) + +$(outdir)/fonts.dir: $(outdir)/fonts.scale + cd $(outdir) && mkfontdir + +# Sketch map file +$(outdir)/lilypond.sfd: +# cd $(outdir) && echo sketch $(FONT_FILES:.mf=.pfa) | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F) + cd $(outdir) && echo sketch *.pfa | $(PYTHON) $(topdir)/buildscripts/make-font-dir.py > $(@F) + + +local-clean: + rm -f mfplain.mem mfplain.log + rm -f *.tfm *.log + +afm: $(AFM_FILES) +pfa: afm $(PFA_FILES) fontdir +pfb: afm $(PFB_FILES) fontdir +# needed for web documentation +$(SAUTER_FONT_FILES:%=$(outdir)/%.pfa): + $(foreach i, $(SAUTER_FONT_FILES), \ + $(MFTRACE) -I $(outdir)/ --pfa --simplify --keep-trying $(i) && mv $(i).pfa $(outdir)/ && ) true +$(SAUTER_FONT_FILES:%=$(outdir)/%.pfb): + $(foreach i, $(SAUTER_FONT_FILES), \ + $(MFTRACE) -I $(outdir)/ --pfa --pfb --simplify --keep-trying $(i) && mv $(i).pfb $(i).pfa $(outdir)/ && ) true