README.rdoc in rubu-0.0.2 vs README.rdoc in rubu-0.0.3
- old
+ new
@@ -53,11 +53,36 @@
cat example/bin/rubu_example
There are comments which highlight purpose of the build program
content.
+Sometimes it is useful to run {Rubu} automatically whenever a file
+changes. Linux provides a facility called *inotify*, which can be used
+in Ruby through "rb-inotify" gem. Automatic update example program is
+in:
+ example/up-to-date
+
+This program runs {Rubu} each time there is a change in "src" or in
+"bin" directory. It compiles and generates C files if necessary. If
+there are new compilation requirements coming, before all previous
+have been completed, it will continue compilation. When all
+compilations are done (i.e. none pending), it will call {Rubu} to
+perform linking. "up-to-date" displays status messages in red and
+green on the screen. If it is started with "-v" option the compile
+commands are visible, and if it is started with "-d" option, there is
+extra delay in compilation command.
+
+ cd example
+ up-to-date -v -d
+
+This is useful if you want to play around with the pending compilation
+processes when new changes are coming in. You can make (dummy) changes
+to "hello_world.c" (for example), and follow the updates in the
+terminal where you started "up-to-date".
+
+
== Concepts
{Rubu} Build Program, RBP, is a Ruby program that uses the {Rubu}
library. Typically command line options are accepted to give options
for the build process.
@@ -212,10 +237,10 @@
def step
shrun "rm -f #{Var[ :build_dir ]}/*.o"
end
If there are multiple commands, then the commands can be grouped for
-sequential ("walk") or parallel execution ("fork").
+sequential ("walk") or parallel execution ("fork").
def step
fork do
shuse "rm -f #{Info[ :gen_files ].rpath}"
shuse "rm -f #{Var[ :build_dir ]}/*.o"