Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(352)

Side by Side Diff: mf/GNUmakefile

Issue 553580043: mf: use python scripting for generating Emmentaler fonts (Closed)
Patch Set: Created 5 years ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | mf/README » ('j') | mf/emmentaler-brace.fontforge.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # mf/GNUmakefile 1 # mf/GNUmakefile
2 2
3 depth = .. 3 depth = ..
4 4
5 STEPMAKE_TEMPLATES = metafont install install-out 5 STEPMAKE_TEMPLATES = metafont install install-out
6 LOCALSTEPMAKE_TEMPLATES = lilypond 6 LOCALSTEPMAKE_TEMPLATES = lilypond
7 7
8 # These are the main .mf files. We don't use $(MF_FILES) here, 8 # These are the main .mf files. We don't use $(MF_FILES) here,
9 # because there are more .mf files, input'ed into the main files. 9 # because there are more .mf files, input'ed into the main files.
10 FETA_MF_FILES = $(call src-wildcard,feta[0-9]*.mf) \ 10 FETA_MF_FILES = $(call src-wildcard,feta[0-9]*.mf) \
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 $(outdir)/feta-noteheads%.lisp \ 53 $(outdir)/feta-noteheads%.lisp \
54 $(outdir)/feta-flags%.lisp \ 54 $(outdir)/feta-flags%.lisp \
55 $(outdir)/feta-alphabet%.lisp 55 $(outdir)/feta-alphabet%.lisp
56 $(call ly_progress,Making,$@,< lisp) 56 $(call ly_progress,Making,$@,< lisp)
57 cat $^ > $@ 57 cat $^ > $@
58 58
59 $(outdir)/emmentaler-brace.otf-table: $(foreach x, a b c d e f g h i,$(outdir)/f eta-braces-$(x).lisp) 59 $(outdir)/emmentaler-brace.otf-table: $(foreach x, a b c d e f g h i,$(outdir)/f eta-braces-$(x).lisp)
60 $(call ly_progress,Making,$@,< lisp) 60 $(call ly_progress,Making,$@,< lisp)
61 cat $^ > $@ 61 cat $^ > $@
62 62
63 $(outdir)/emmentaler-brace.otf: $(outdir)/emmentaler-brace.subfonts \
64 $(outdir)/emmentaler-brace.fontname \
65 $(outdir)/emmentaler-brace.otf-table \
66 $(outdir)/emmentaler-brace.otf-gtable \
67 $(outdir)/emmentaler-brace.pe
68
69 $(outdir)/emmentaler-brace.fontname:
70 $(call ly_progress,Making,$@,)
71 printf 'emmentaler-brace' > $@
72
73 $(outdir)/emmentaler-brace.subfonts:
74 $(call ly_progress,Making,$@,)
75 echo $(subst .mf,,$(call src-wildcard,feta-braces-[a-z].mf)) > $@
76
77 $(outdir)/emmentaler-%.genpe: $(buildscript-dir)/gen-emmentaler-scripts
78 $(call ly_progress,Making,$@,)
79 $< --dir=$(outdir) --design-size=$(patsubst emmentaler-%.genpe,%,$(notdi r $@))
80
81 ALL_GEN_FILES = $(ENC_FILES) \ 63 ALL_GEN_FILES = $(ENC_FILES) \
82 $(OTF_FILES) \ 64 $(OTF_FILES) \
83 $(SVG_FILES) \ 65 $(SVG_FILES) \
84 $(WOFF_FILES) \ 66 $(WOFF_FILES) \
85 $(LILYPOND_FONTS_CONF) 67 $(LILYPOND_FONTS_CONF)
86 68
87 # PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)" 69 # PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)"
88 70
89 INSTALLATION_DIR = $(local_lilypond_datadir)/fonts/source 71 INSTALLATION_DIR = $(local_lilypond_datadir)/fonts/source
90 INSTALLATION_FILES = $(MF_FILES) 72 INSTALLATION_FILES = $(MF_FILES)
(...skipping 13 matching lines...) Expand all
104 86
105 export MFINPUTS := .:$(MFINPUTS) 87 export MFINPUTS := .:$(MFINPUTS)
106 88
107 # A few rules here generate multiple files from one command line. For 89 # A few rules here generate multiple files from one command line. For
108 # treating this case, we only declare one output explicitly, and use a 90 # treating this case, we only declare one output explicitly, and use a
109 # dummy rules for the other outputs. The dummy rule uses 91 # dummy rules for the other outputs. The dummy rule uses
110 # $(UPDATE_TARGET) so the order of writing in the real command does 92 # $(UPDATE_TARGET) so the order of writing in the real command does
111 # not confuse make. 93 # not confuse make.
112 UPDATE_TARGET = if test -f $@; then touch $@ ; fi 94 UPDATE_TARGET = if test -f $@; then touch $@ ; fi
113 95
96
114 # only for fonts which 97 # only for fonts which
115 # 98 #
116 # 1. are mentioned in font.scm 99 # 1. are mentioned in font.scm
117 # 100 #
118 # 2. are not included with teTeX 101 # 2. are not included with teTeX
119 # 102 #
120 $(outdir)/%.lisp: $(outdir)/%.log $(outdir)/%.tfm 103 $(outdir)/%.lisp: $(outdir)/%.log $(outdir)/%.tfm
121 $(call ly_progress,Making,$@,< log) 104 $(call ly_progress,Making,$@,< log)
122 $(buildscript-dir)/mf-to-table \ 105 $(buildscript-dir)/mf-to-table \
123 --global-lisp=$(outdir)/$(<F:.log=.otf-gtable) \ 106 --global-lisp=$(outdir)/$(<F:.log=.otf-gtable) \
124 --lisp=$(outdir)/$(<F:.log=.lisp) \ 107 --lisp=$(outdir)/$(<F:.log=.lisp) \
125 --outdir=$(outdir) \ 108 --outdir=$(outdir) \
126 --enc $(outdir)/$(<F:.log=.enc) \ 109 --enc $(outdir)/$(<F:.log=.enc) \
127 $< 110 $<
128 111
129 $(outdir)/%.otf-gtable $(outdir)/%.enc: $(outdir)/%.lisp 112 $(outdir)/%.otf-gtable $(outdir)/%.enc: $(outdir)/%.lisp
130 $(UPDATE_TARGET) 113 $(UPDATE_TARGET)
131 114
132 ## Putting pfb here forces all .pfb fonts to be built before 115 $(outdir)/emmentaler-%.otf: gen-emmentaler.fontforge.py $(outdir)/feta%.pfb \
133 # fontforge starts generating emmentaler-*.* fonts.
134 $(outdir)/emmentaler-%.otf: $(outdir)/emmentaler-%.genpe \
135 » » » $(outdir)/feta%.pfb \
136 $(outdir)/feta-noteheads%.pfb \ 116 $(outdir)/feta-noteheads%.pfb \
137 $(outdir)/feta-flags%.pfb \ 117 $(outdir)/feta-flags%.pfb \
138 $(outdir)/feta-alphabet%.pfb \ 118 $(outdir)/feta-alphabet%.pfb \
139 $(outdir)/parmesan%.pfb \ 119 $(outdir)/parmesan%.pfb \
140 $(outdir)/parmesan-noteheads%.pfb \ 120 $(outdir)/parmesan-noteheads%.pfb \
141 $(outdir)/feta%.otf-table \ 121 $(outdir)/feta%.otf-table \
142 » » » $(outdir)/feta%.otf-gtable \ 122 » » » $(outdir)/feta%.otf-gtable
143 » » » | pfb
144 $(call ly_progress,Making,$@,) 123 $(call ly_progress,Making,$@,)
145 » cd $(outdir) && $(FONTFORGE) -script $(notdir $<) 124 » $(FONTFORGE) -lang=py -script $< --version=$(VERSION) --in $(outdir)/ -- out $@
146 125
147 $(outdir)/emmentaler-%.svg $(outdir)/emmentaler-%.woff: $(outdir)/emmentaler-%.o tf 126 $(outdir)/emmentaler-%.svg $(outdir)/emmentaler-%.woff: $(outdir)/emmentaler-%.o tf
148 $(UPDATE_TARGET) 127 $(UPDATE_TARGET)
149 128
150 $(outdir)/emmentaler-brace.otf: $(outdir)/emmentaler-brace.pe\ 129
151 » » $(foreach s,$(BRACES),$(outdir)/feta-braces-$(s).pfb) \ 130 $(outdir)/emmentaler-brace.otf: emmentaler-brace.fontforge.py $(outdir)/emmental er-brace.otf-table \
lemzwerg 2020/02/29 21:33:10 maybe break line to make it shorter...
hanwenn 2020/02/29 22:31:30 Acknowledged.
152 » » $(outdir)/emmentaler-brace.otf-table $(outdir)/emmentaler -brace.otf-gtable \ 131 » $(outdir)/emmentaler-brace.otf-gtable \
153 » » | pfb 132 » $(foreach s,$(BRACES),$(outdir)/feta-braces-$(s).pfb) \
133 » $(outdir)/emmentaler-brace.otf-table $(outdir)/emmentaler-brace.otf-gtab le
154 $(call ly_progress,Making,$@,) 134 $(call ly_progress,Making,$@,)
155 » cd $(outdir) && $(FONTFORGE) -script emmentaler-brace.pe 135 » $(FONTFORGE) -lang=py -script $< \
136 » » --version $(VERSION) --out=$@ --in $(outdir)
156 137
157 $(outdir)/emmentaler-brace.svg $(outdir)/emmentaler-brace.woff: $(outdir)/emment aler-brace.otf 138 $(outdir)/emmentaler-brace.svg $(outdir)/emmentaler-brace.woff: $(outdir)/emment aler-brace.otf
158 $(UPDATE_TARGET) 139 $(UPDATE_TARGET)
159 140
160 default: tree-regen \ 141 default: tree-regen \
161 $(outdir)/fonts.conf 142 $(outdir)/fonts.conf
162 143
163 .PHONY: tree-regen 144 .PHONY: tree-regen
164 145
165 tree-regen: $(ALL_GEN_FILES) 146 tree-regen: $(ALL_GEN_FILES)
166 ${MAKE} -C $(top-build-dir) link-mf-tree 147 ${MAKE} -C $(top-build-dir) link-mf-tree
167 148
168 149
169 local-clean: 150 local-clean:
170 rm -f mfplain.mem mfplain.log 151 rm -f mfplain.mem mfplain.log
171 rm -f *.tfm *.log 152 rm -f *.tfm *.log
172 153
173 154
174 $(outdir)/fonts.conf: 155 $(outdir)/fonts.conf:
175 $(call ly_progress,Making,$@,) 156 $(call ly_progress,Making,$@,)
176 echo '<fontconfig><dir>'$(shell cd $(outdir); pwd)'</dir></fontconfig>' > $@ 157 echo '<fontconfig><dir>'$(shell cd $(outdir); pwd)'</dir></fontconfig>' > $@
OLDNEW
« no previous file with comments | « no previous file | mf/README » ('j') | mf/emmentaler-brace.fontforge.py » ('J')

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b