Follow-up Comment #1, bug #14927 (project make): I don't think this is a bug. You get what you deserved with the makefile you provided: you redefined the (%.o): %.c rule and as a result, you got no actual file in archive even though the rule claims to create one.
First, I checked your makefile with make 3.81 and 3.80. Both exhibit the following expected behavior: - When the make is run for the first time, the library is built as you expect: cc -c -o a.o a.c # to just compile the files cc -c -o b.o b.c # to just compile the files ar cru mylib.a a.o b.o # Add all new objects to the archive rm -f a.o b.o # Remove the objects - When a.c is touched and make is rerun, a.c is recompiled but not put into the archive: cc -c -o a.o a.c # to just compile the files This is what one would expect from your makefile: once a library is already created, its modification date is newer than any of the objects therein. Therefore, the rule that archives the newly built objects is not invoked. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=14927> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make