]> git.donarmstrong.com Git - lilypond.git/blob - mf/SConscript
New file.
[lilypond.git] / mf / SConscript
1 # -*-python-*-
2
3 import glob
4 import os
5 import string
6 import sys
7
8 here = os.getcwd ()
9 reldir = str (Dir ('.').srcnode ())
10 os.chdir (reldir)
11 #mf_sources = reduce (+,
12 mf_sources = reduce (lambda x, y: x + y,
13                      map (glob.glob,
14                           ('feta[0-9]*.mf',
15                            'feta-braces-[a-z].mf',
16                            'feta-din*[0-9].mf',
17                            'feta-nummer*[0-9].mf',
18                            'parmesan[0-9]*.mf',)))
19 os.chdir (here)
20
21 Import ('env')
22 MFMODE = env['MFMODE']
23 #ugh
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 (),
30                suffix = '.tfm',
31                src_suffix = '.mf')
32
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 (),
41                suffix = '.afm',
42                src_suffix = '.log')
43
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 (),
48                suffix = '.pfa',
49                src_suffix = '.mf')
50
51 e = env.Copy (BUILDERS = {'Tfm' : tfm, 'Afm' : afm, 'Pfa' : pfa},
52               MFINPUTS = '#/mf')
53
54 mf_sources = ('feta16.mf',)
55 sources = map (lambda x: os.path.splitext (x)[0], mf_sources)
56
57 ##t = map (e.Tfm, mf_sources)
58 #a = map (e.Afm, map (lambda x: outdir + os.path.splitext (x)[0] + '.log',
59 #                    mf_sources))
60 #p = map (e.Pfa, mf_sources)
61
62 out_sources = map (lambda x: os.path.join (outdir, x), sources)
63
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'))
70
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'))
74
75 #t = map (e.Tfm, out_sources)
76 #a = map (e.Afm, out_sources)
77 #p = map (e.Pfa, out_sources)
78
79 e.Depends ('feta16.log', 'feta16.tfm')
80 e.Depends ('feta16.afm', 'feta16.log')
81
82 #map (lambda x: e.Depends (x + '.log', x + '.tfm'), out_sources)
83 #map (lambda x: e.Depends (x + '.afm', x + '.log'), out_sources)
84
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)
94
95