8 def verbose_opt (env, opt):
13 srcdir = env['srcdir']
15 def join_path (path, infix=os.pathsep, prefix = ''):
20 return string.join (map (lambda x: prefix + dir (x), path), infix)
22 MAKEINFO_INCLUDES = join_path (env['MAKEINFO_PATH'], '', ' -I')
23 a = env['MAKEINFO'] + verbose_opt (env, ' --verbose') \
25 + ' --no-split --no-headers --output=$TARGET $SOURCE'
27 texi2txt = Builder (action = a, suffix = '.txt', src_suffix = '.texi')
29 env.Append (BUILDERS = {'Texi2txt': texi2txt})
32 PYTHON = env['PYTHON']
33 LILYPOND_BIN = env['LILYPOND_BIN']
34 LILYPOND_BOOK = env['LILYPOND_BOOK']
35 LILYPOND_BOOK_FLAGS = env['LILYPOND_BOOK_FLAGS']
36 LILYPOND_BOOK_FORMAT = env['LILYPOND_BOOK_FORMAT']
37 LILYPOND_BOOK_INCLUDES = join_path (env['LILYPOND_BOOK_PATH'], '',
39 LILYPONDPREFIX = env['LILYPONDPREFIX']
41 env.Append (ENV = {'PATH' : os.environ['PATH']})
42 if os.environ.has_key ('LD_LIBRARY_PATH'):
43 env.Append (ENV = {'LD_LIBRARY_PATH' : os.environ['LD_LIBRARY_PATH']})
44 if os.environ.has_key ('GUILE_LOAD_PATH'):
45 env.Append (ENV = {'GUILE_LOAD_PATH' : os.environ['GUILE_LOAD_PATH']})
47 if os.environ.has_key ('TEXMF'):
48 env.Append (ENV = {'TEXMF' : os.environ['TEXMF']})
49 env.Append (ENV = {'TEXMF' : '{' + LILYPONDPREFIX + ',' \
50 + os.popen ('kpsexpand \$TEXMF').read ()[:-1] + '}' })
52 ## + ' --output=$$(basename $TARGET) --format=%(LILYPOND_BOOK_FORMAT)s\
53 ##a = (r'''echo "NOT RM $$(grep -LF '\lilypondend' $$(dirname $TARGET)/lily-*.tex)"; ''' \
54 a = (r'''rm -f $$(grep -LF '\lilypondend' $$(dirname $TARGET)/lily-*.tex 2>/dev/null); ''' \
55 + 'LILYPONDPREFIX=%(LILYPONDPREFIX)s '\
56 + PYTHON + ' ' + LILYPOND_BOOK + verbose_opt (env, ' --verbose')\
57 + ' --include=$$(dirname $TARGET) %(LILYPOND_BOOK_INCLUDES)s'\
58 + r""" --process='%(LILYPOND_BIN)s %(LILYPOND_BOOK_INCLUDES)s'"""\
59 + ' --output=$$(dirname $TARGET) --format=%(LILYPOND_BOOK_FORMAT)s\
60 %(LILYPOND_BOOK_FLAGS)s\
62 tely2texi = Builder (action = a, suffix = '.texi', src_suffix = '.tely')
63 env.Append (BUILDERS = {'Tely2texi': tely2texi})
65 TEXINFO_PAPERSIZE_OPTION = env['TEXINFO_PAPERSIZE_OPTION']
66 a = '(cd $$(dirname $TARGET) &&\
67 texi2dvi --batch %(TEXINFO_PAPERSIZE_OPTION)s $$(basename $SOURCE))' % vars ()
68 texi2dvi = Builder (action = a, suffix = '.dvi', src_suffix = '.texi')
69 env.Append (BUILDERS = {'Texi2dvi': texi2dvi})
71 env.Append (DVIPSFLAGS = '-Ppdf -u+lilypond.map -u+ec-mftrace.map')
73 DVIPS_PAPERSIZE = 'a4'
74 DVIPSFLAGS = env['DVIPSFLAGS']
75 a = ('set -x; dvips %(DVIPSFLAGS)s' \
76 + ' -o ${TARGET}.pdfps'\
77 + ' -t %(DVIPS_PAPERSIZE)s $SOURCE &&'\
78 + ' ps2pdf -sPAPERSIZE=%(DVIPS_PAPERSIZE)s ${TARGET}.pdfps $TARGET') \
80 dvi2pdf = Builder (action = a, suffix = '.pdf', src_suffix = '.dvi')
81 env.Append (BUILDERS = {'Dvi2pdf': dvi2pdf})
83 a = 'convert $SOURCE $TARGET'
84 png2eps = Builder (action = a, suffix = '.eps', src_suffix = '.png')
85 env.Append (BUILDERS = {'Png2eps': png2eps})