Follow-up Comment #1, bug #23210 (project make):
For this makefile:
> ../libfoo.a: foo1.o
> ar rcs ../libfoo.a foo1.o
make is doing what you told it to; the problem is that the makefile doesn't
capture your intent. That makefile says "add or update the foo1.o member of
../libfoo.a if _and_only_if_ the foo1.o file is newer
_than_the_archive_itself_". That's wrong: the foo1.o member should be updated
if the foo1.o file is newer than the _member_in_the_archive_. Using the
archive member syntax solves that:
../libfoo.a(foo1.o): foo1.o
ar rcs ../libfoo.a foo1.o
(Of course, archive members targets have their own issue with parallel
builds, but that at least can be handled with .NOTPARALLEL)
Philip Guenther
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?23210>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make