[Omake] help not exporting the loop variable?
Erick Tryzelaar
erickt at dslextreme.com
Fri Jan 5 10:30:57 PST 2007
I'm running into an issue using some non-standard omake-style coding.
I'm investigating porting our custom package based build system over to
omake, and I'm running into an odd problem. Here's my code:
OMakefile:
packages. =
extends $(Map)
register-package(package) =
echo register $(package.name)
packages = $(packages.add $(package.name), $(package))
export
foreach(x, a.om b.om)
echo loading $x
include $x
echo
export
a.om:
private.package. =
name = a
register-package($(package))
b.om:
private.package. =
name = b
register-package($(package))
running omake, I get this:
*** omake: reading OMakefiles
loading a.om
register a
loading b.om
register a
*** omake: finished reading OMakefiles (0.0 sec)
*** omake: done (0.0 sec, 0/0 scans, 0/0 rules, 0/43 digests)
This is different from what I expect. I'd want the second register to be
referencing "b". I discovered that if I change the name of the loop
variable to something else, like this:
register-package(p) =
echo register $(p.name)
packages = $(packages.add $(p.name), $(p))
export
It works as I expect it to:
*** omake: reading OMakefiles
loading a.om
register a
loading b.om
register b
*** omake: finished reading OMakefiles (0.0 sec)
*** omake: done (0.0 sec, 0/0 scans, 0/0 rules, 1/43 digests)
So, any idea on what to do? Also, any tips on a better way of doing what
I'm doing? We can't currently use the .SUBDIRS in order to load the
package, as we put all our packages in one place.
Thanks,
-e
More information about the Omake
mailing list