[Omake] SVN Commit: OMake Build System [0.9.8.x] (Rev. 11162)

Aleksey Nogin nogin at metaprl.org
Fri Jun 29 11:25:07 PDT 2007


On 28.06.2007 18:18, Jason J. Hickey wrote:

> The following program now works as expected.

Cool, thanks!

>         .STATIC: :key: $x

BTW, is the ":key:" syntax documented somewhere? I grepped for :key: in 
omake-doc and I do not see anything. Perhaps it should be added to the 
"Special dependencies" section in doc/src/omake-rules.tex (as well as in 
the ection documenting the .STATIC sections).

Also, is there a reason to use :key: instead of overloading the :value: 
keyword? Is it the intention that the variations in :key: dependencies 
cause a new value to be saved along with the old one, while the 
variations in the "normal" dependencies (including the :value: ones) 
cause the old value to be overwritten? Note that this is not what 
happens - if I replace the ":key:" with ":value:" in your example, it 
acts as if there were no dependencies at all!

> Of course, .STATIC rules are only for values saved between runs.  We also
> need the memo function.

I would propose to add a ".MEMO: ..." (or may be ".LAZY_MEMO:" or 
".LAZY:"?) syntax that is identical to the ".STATIC" one, with the only 
difference that ".MEMO" sections would not be saved in the files. The 
two forms could then easily share the implementation, where an 
additional boolean flag would be used to indicate, whether .omakedb 
load/save should be attempted. On "load", we'd then also take the 
conjunction of the flag with the "opt_flush_static".

Aleksey



More information about the OMake-Devel mailing list