]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/SConscript
*** empty log message ***
[lilypond.git] / Documentation / user / SConscript
1 # -*-python-*-
2
3 import os
4 import string
5
6 Import ('env')
7 telys = env['glob'] (env, '*.tely')
8 pngs = env['glob'] (env, '*.png')
9
10 env.Depends ('lilypond.texi', env['LILYPOND_BIN'])
11 env.Depends ('lilypond.texi', 'lilypond-internals.texi')
12
13 epss = map (env.Png2eps, pngs)
14 env.Depends ('lilypond.texi', epss)
15
16 env.Command ('lilypond-internals.texi', env['LILYPOND_BIN'],
17              'cd ${TARGET.dir} \
18              && LILYPONDPREFIX=$LILYPONDPREFIX $LILYPOND_BIN $__verbose \
19              $srcdir/ly/generate-documentation')
20
21 texis = map (env.TEXI, telys)
22 dvis = map (env.Texi2dvi, telys)
23 pss = map (env.PostScript, map (lambda x: x + '.dvi', telys))
24 pdfs = map (env.Dvi2pdf, telys)
25 infos = map (env.INFO, telys)
26
27 def file_subst (file_name, find, subst):
28         s = open (file_name).read ()
29         t = string.replace (find, subst, s)
30         if s != t:
31                 os.rename (file_name, file_name + '~')
32                 h = open (file_name, "w")
33                 h.write (t)
34                 h.close ()
35
36 e = env.Copy ()
37 e['usersrc'] = Dir ('.').srcnode ().abspath
38 def url_fixup (target, source, env):
39         file_subst (str (target[0]),
40                     '../lilypond-internals', 'lilypond-internals/')
41 a = ['$MAKEINFO -I$srcdir/Documenation/user -I${SOURCE.dir} --html \
42 --css-include=$srcdir/Documentation/texinfo.css $__verbose \
43 --output=${TARGET.dir} $SOURCE',
44      '$MAKEINFO -I$srcdir/Documentation/user -I${SOURCE.dir} --html \
45      --no-split --no-headers \
46      --css-include=$srcdir/Documentation/../texinfo.css $__verbose \
47      --output=$TARGET $SOURCE',
48      url_fixup,
49      'ln -f ${SOURCE.dir}/*.png ${SOURCE.dir}/*.ly ${TARGET.dir}/']
50      
51 e.Command ('lilypond/lilypond.html', 'lilypond.texi', a)
52 e.Command ('lilypond-internals/lilypond-internals.html',
53              'lilypond-internals.texi', a)
54
55 env.Alias ('doc', texis)
56 env.Alias ('doc', dvis)
57 env.Alias ('doc', pss)
58 env.Alias ('doc', pdfs)
59
60 env.Alias ('doc', 'lilypond/lilypond.html')
61 env.Alias ('doc', 'lilypond-internals/lilypond-internals.html')