9 reldir = str (Dir ('.').srcnode ())
11 #mf_sources = reduce (+,
12 mf_sources = reduce (lambda x, y: x + y,
15 'feta-braces-[a-z].mf',
17 'feta-nummer*[0-9].mf',
18 'parmesan[0-9]*.mf',)))
22 MFMODE = env['MFMODE']
24 outdir = os.path.join (env['build'], reldir, env['out'])
25 tfm = Builder (action = ('cd ' + outdir + ' && ' \
26 + '(MFINPUTS=:' + str (Dir ('#/mf')) \
27 + ' mf "\\mode:=%(MFMODE)s; nonstopmode; ' \
28 + ' input $$(basename $SOURCE);"' \
29 + ' | grep -v "@\\|>>")') % vars (),
33 afm = Builder (action = (sys.executable
34 + ' buildscripts/mf-to-table.py ' \
35 + ' --package=. --outdir=%(outdir)s '\
36 + ' --afm %(outdir)s/$$(basename $TARGET .afm).afm' \
37 + ' --enc %(outdir)s/$$(basename $TARGET .afm).enc' \
38 + ' --tex %(outdir)s/$$(basename $TARGET .afm).tex' \
39 + ' --ly %(outdir)s/$$(basename $TARGET .afm).ly'\
40 + ' %(outdir)s/$$(basename $SOURCE)') % vars (),
44 # UGH, should fix --output option for mftrace
45 pfa = Builder (action = ('mftrace -I%(outdir)s --pfa --simplify --keep-trying'\
46 + ' $$(basename $SOURCE .mf) ' \
47 + ' && mv $$(basename $TARGET) $TARGET') % vars (),
51 e = env.Copy (BUILDERS = {'Tfm' : tfm, 'Afm' : afm, 'Pfa' : pfa},
54 mf_sources = ('feta16.mf',)
55 sources = map (lambda x: os.path.splitext (x)[0], mf_sources)
57 ##t = map (e.Tfm, mf_sources)
58 #a = map (e.Afm, map (lambda x: outdir + os.path.splitext (x)[0] + '.log',
60 #p = map (e.Pfa, mf_sources)
62 out_sources = map (lambda x: os.path.join (outdir, x), sources)
64 #t = e.Tfm (os.path.join (outdir, 'feta16.tfm'))
65 #a = e.Afm (os.path.join (outdir, 'feta16.afm'))
66 #p = e.Pfa (os.path.join (outdir, 'feta16.pfa'))
67 #t = e.Tfm ('feta16.tfm'))
68 #a = e.Afm ('feta16.afm'))
69 #p = e.Pfa ('feta16.pfa'))
71 t = e.Tfm (os.path.join (outdir, 'feta16'))
72 a = e.Afm (os.path.join (outdir, 'feta16'))
73 p = e.Pfa (os.path.join (outdir, 'feta16'))
75 #t = map (e.Tfm, out_sources)
76 #a = map (e.Afm, out_sources)
77 #p = map (e.Pfa, out_sources)
79 e.Depends ('feta16.log', 'feta16.tfm')
80 e.Depends ('feta16.afm', 'feta16.log')
82 #map (lambda x: e.Depends (x + '.log', x + '.tfm'), out_sources)
83 #map (lambda x: e.Depends (x + '.afm', x + '.log'), out_sources)
85 tfmdir = os.path.join (env['lilypondprefix'], 'fonts/tfm')
86 afmdir = os.path.join (env['lilypondprefix'], 'afm')
87 pfadir = os.path.join (env['lilypondprefix'], 'fonts/type1')
88 env.Install (tfmdir, t)
89 env.Install (afmdir, a)
90 env.Install (pfadir, p)
91 env.Alias ('install', tfmdir)
92 env.Alias ('install', afmdir)
93 env.Alias ('install', pfadir)