>In fact, the extra $(wildcard ...) statements have no impact, for good or ill, on the remove/rename issue. Unless I've confused something again.
OK, the explanation is not for you Paul - you are the expert :) just a detailed explanation for other newbies like myself who might stumble upon this. So we have this auxiliary dependency rule that may look like this include/foobar.h: $(wildcard include1/foobar.h include2/foobar.h ...) Well, as for the impact on the remove/rename of include/foobar.h, it's like this. If $(wildcard ...) is empty, then this is the old solution to the remove/rename issue. If it is not empty, and we removed the target foobar.h, then make sees a non-existent target, with existing prerequisites, and neither for prerequisites nor the target, there are any rules. That means make will check the prerequisites, realize there is nothing to do there, and consider the target "updated" - that is because make only checks whether any target is up-to-date before processing it, not after - afterwards, make does not even check whether the target in fact came to exist. If it is not empty and we did not remove the target foobar.h, then we have existing target and existing prerequisites and no commands for either, and make may or may not consider the target up to date, but it does not matter because it won't do any commands to update it, and again thereafter will consider it "up to date". (I checked by hand that this is in fact how it works in all these cases). Mark _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
