OMake pitfall around multiple targets
Now I made a clearer example. Some bug or confusion around multiple target rules:
# Checked by OMake 0.9.8.5 (release 3) build [Sat Nov 7 15:22:19 2009] on rothera from Ubuntu F1(v)= echo $'F1(v)' F1_a(v)= echo $'$(F1_a v)' F2()= echo $'F2()' F2_a()= echo $'$(F2_a)' # Which is not an OMake shell command. # ls and echo are OMake shell commands, for example. UnixCommand=sleep 0 G1(v)= echo $'G1(v)' $(UnixCommand) G1_a(v)= echo $'$(G1_a v)' $(UnixCommand) G1_b(v)= echo $'$(G1_b v)' $(UnixCommand) return G2()= echo $'G2()' $(UnixCommand) G2_a()= echo $'$(G2_a)' $(UnixCommand) a b c: F1(0) # Only once! $(F1_a 0) # 3 times!!! F2() # 4 times!!!! # execution order is strange! # relate with http://bugzilla.metaprl.org/cgi-bin/show_bug.cgi?id=713 ? $(F2_a) # 3 times!!! G1(0) # Only once! # $(G1_a 0) # Error: tries to evaluate something empty! $(G1_b 0) # 3 times!!! # G2() # Error: Non digestable value # $(G2_a) # Error: tries to evaluate something empty! touch a b c .DEFAULT: a .PHONY:clean clean: rm -f a b c