Justus Winter justus@sequoia-pgp.org writes:
And the build system I adopted doesn't actually use cp, I just demonstrated the problem using cp. Therefore, it is not as easy as using -a instead of -r.
In any case, I'm just going to delete any .stamp files in my build process.
I would recommend that you either arrange to preserve timestamps, or delete all generated files that make knows how to recreate. Otherwise, the steps performed by make during the build will depend on the order in which the files happened to be copied, which seems brittle.
And I wanted to be a good downstream user and report what I perceived as a packaging hickup.
Thanks. I wasn't aware if this failure mode. I don't see any great solution.
It would be nice if one could tell make that there's a dependency chain
foo.c --> foo --> bar
and that foo (the executable) is unimportant. That should mean that as long as bar is more recent than foo.c, there's no need to remake bar, and no need to remake foo, no matter if foo happens to be out-of-date or non-existent. The stamp file is a workaround, and as you noticed, it's not perfect. Is there a better way?
Regards, /Niels