[makefile] Why does make think the target is up to date?