%% Tristan Van Berkom <[EMAIL PROTECTED]> writes: tvb> The problem is that dependancies are not getting re-evaluated tvb> over sub-makes; resulting in useless `$(MAKE)' invokations.
tvb> example: tvb> - `app' depends on `lib-one' and `lib-two' tvb> - `lib-two' depends on `lib-one' tvb> - make in `app' dir recurses into `lib-one' and rebuilds tvb> - make in `app' dir recurses into `lib-two' tvb> - make in `lib-two' dir recurses into `lib-one' dir tvb> (Nothing to do in lib-one dir "duh !") tvb> - make in `lib-two' dir rebuilds tvb> - make in `app' dir rebuilds tvb> Is there anything I can do so that make updates its table of tvb> dependancies properly or sub-makes start off with a clean slate tvb> of dependancies ? Since you haven't told us HOW you've written your makefile to inform make that it needs to recurse, we can't help you directly. Remember that a sub-make is a completely different program than its parent: it has absolutely no idea what targets the parent knows about, what targets it has or has not already built, etc. The sub-make is invoked from scratch, reads its own makefile, and makes up its own mind about when things need to be rebuilt based on out-of-date considerations, etc. If the make running in lib-two decides, from first principles, that lib-one is not up-to-date then it will rebuild it, regardless of whether the parent make already built it or not. So, the question again is: how is your makefile programmed to decide whether or not lib-one is up-to-date? If you're seeing lib-one rebuilt multiple times then you have an error in that makefile logic. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
