Hi all,

I'm using Tup with a "literate program" (using org-babel-tangle).

My goal is to maintain "tup" as my only build command.

Like the gentleman in this post 
<http://comments.gmane.org/gmane.comp.programming.tools.tup.user/461>, "I 
have a build step that generates a bunch of code that is later compiled." 
 (Where the documents are "tangled.")

Luckily, though, it is easy in my case to determine the exact graph in 
advance.  I do this using a Lua script that scans the files line-by-line 
and adds rules, and it works great!

*Except* that Tup doesn't rebuild the graph when I change one of the org 
files.  For example, if I add or change an output (which is indicated by 
"tangle" directives in the document), Tup does not rerun the Lua script 
that changes the rules.

It *does* work if I "touch Tupfile.lua" before running Tup.  Of course, 
this defeats the purpose of a single build command.

Ideally, the exact rules generated from each document to be dependent on 
that document only, but the parsing is so fast that it likely doesn't make 
much difference.  Even if *all* the rules have to be reparsed whenever 
*any* document changes, the output of "tup" would be more correct.

Is there a way that I can indicate to Tup that the rules themselves depend 
on the files that it reads (apart from the fact that it reads them)?  Is 
this how run scripts work?  (I can't use run scripts 
<https://groups.google.com/d/msg/tup-users/4J4kTUihQhI/yApM1z7Y9b0J>, as 
I'm on Windows, but the Lua approach is great.)

I presume this arises any time dependencies are scanned from a file, which 
is a common use case.  Am I missing something?

Thanks,
Gavin

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to