Add Alias('asymptote-figures') for explicit \asyfig dependencies.
authorW. Trevor King <wking@drexel.edu>
Wed, 28 Apr 2010 21:56:01 +0000 (17:56 -0400)
committerW. Trevor King <wking@drexel.edu>
Wed, 28 Apr 2010 21:56:01 +0000 (17:56 -0400)
Also:
  * Use env.Alias and env.Depends vs. the bare SCons.Script forms.
  * Add figures/cantilever-sim/loading-rate.asy back to build tree.

tex/site_cons/site_tools/asymptote.py
tex/src/SConscript
tex/src/figures/asy/SConscript
tex/src/figures/cantilever-sim/SConscript

index 40de5ab61533c3c05992b512c3bd07d8f6f903a9..6d8aeb5489dcb0ad893d2d3c3b025e41f0bb21e7 100644 (file)
@@ -9,6 +9,10 @@ import doctest
 
 double_quoted_string_re = re.compile(r'"([^"]*)"', re.M)
 
+# SCons' LaTeX scanner doesn't understand \asyfig{}, so keep track of
+# all Asymptote graphics under a single phony target.
+asyfigs = SCons.Script.Alias('asymptote-figures')
+
 def asymptote_scan(node, env, path, arg=None):
     """
     >>> class node (object):
@@ -55,6 +59,8 @@ def asymptote_emitter(target, source, env):
     target.extend(['%s-comp.%s' % (filebase, ext)
                    for ext in ['idx', 'log', 'nlo', 'pdf']])
     source.append(SCons.Script.Alias('asytools'))
+    # side effect, keep track of all asymptote graphics.
+    env.Depends(asyfigs, target)
     return target, source
 
 AsymptoteAction = None
index 268b382a647316aa61f52cfd7dfdcdcfa220a5c7..019637359cc397ebe7e843562f8f65a1285c649a 100644 (file)
@@ -32,11 +32,12 @@ env = include_child_SConscripts(env, SConscript)
 
 # Alias the thesis' base latex, which is used by asyprocess when
 # building the Asymptote graphics.
-Alias('latex-base', [Glob('*.tex'), Alias('extra-packages')])
+env.Alias('latex-base', [Glob('*.tex'), env.Alias('extra-packages')])
 
 # Add a rule for the thesis itself.
 thesis = env.PDF('root.tex')
-Depends(thesis, Alias('extra-packages'))
+env.Depends(thesis, env.Alias('extra-packages'))
+env.Depends(thesis, env.Alias('asymptote-figures'))
 
 Return('thesis')
 
index 3318e5c64373a5a26827d2a8263e0df850acd59b..e2f23603ad10b4e00824be582acd89fc5be316cc 100644 (file)
@@ -2,7 +2,7 @@
 Import('env')
 
 asy = env.Alias('asytools', ['asyprocess', 'wtk_graph.asy'])
-Depends(asy, Alias('latex-base'))
+env.Depends(asy, Alias('latex-base'))
 
 # Pass back the modified environment.
 Return('env')
index ee403830bf40933450ae6706d5ec5aa1a48bcf24..19e66cb1bfddad2fded21c66c1a2fa30e923aad7 100644 (file)
@@ -1,6 +1,6 @@
 from site_cons.site_init import link_wtk_graph
 
-FIGURES = ['v-dep', 'i-dep'] #'loading-rate', 'i-dep']
+FIGURES = ['v-dep', 'loading-rate', 'i-dep']
 
 # Get the passed in environment.
 Import('env')