In article <40D80D94.50000 / weirichhouse.org>, Jim Weirich <jim / weirichhouse.org> wrote: >Phil Tomson wrote: >> Jim, >> >> Thanks, this helps explain a lot about Rake. >> >> You guessed correctly that ncvhdl is a compiler. ncelab is sort of like a >> linker. Unfortuneatly each .vhd file doesn't compile to a >> corresponding .vhdo file (object file) - that would be nice. All of the >> comilation units get put into a package file in a different directory - the >> same package file, so each .vhd file gets compiled and added to the >> project's .pkg file which makes it hard to figure out if you really need to >> recompile a particular .vhd file (not Rake's problem, though, this is a >> problem with the compiler/linker tool and it would present a problem for >> make as well). > >You could embed ncvhdl into a script that produces a .vhdo file whose >only purpose is to provide a time stamp for rake to key off of. A >little kludgey, but if compile times are long it might be worth it. That's probably a reasonable way to do it. > >Here's another idea. Is there any way to get the time that a particular >file was added package file? Perhaps the package file has internally >embedded dates and time? If so, and you can write some ruby code to >pull that information out, then you could extend the FileTask object by >overriding the timestamp method. That would be a really cool use of >rake that went beyond the capabilities of make. That would be cool, but the .pak file is binary. I tried to do some searching in it, but didn't find any of the strings that I looked for nor anything else that was intelligible. Probably creating .vhdo files as you suggested would be the way to go. Phil