On Mon, 2019-10-21 at 05:55 +0200, David Deutsch wrote: > On the top of my make wishlist would be to have it give me a little more > detail than "No rule to make X". In many cases, what it really means is > "No rule to make Y which I'd need to make X which is what I'm currently > trying to make". I might know what the issue with trying to make Y is, > but baffled over how it is stuck on making X. So I guess something like > a short trace on the current set of dependencies make is trying to resolve.
I can only assume that the rules in question are pattern rules. If they were explicit rules then make would indeed give you a more clear declaration of which file is missing. However, with pattern rules this is not possible, because there can be many pattern rules that might match the same target. Consider the pattern target "%.o". A .o file can be built from many different types of sources: assembly files, C source files, C++ source files, FORTRAN files, etc. etc. So, if a prerequisite for "foo.o" exists in the makefile but make cannot detect any pattern rule that would successfully build it, make doesn't know which of those pattern rules you expected it to match. All it knows is that it didn't match any of them. > Any pointers on the add-on question would be very much appreciated. Unfortunately I didn't really understand the process you're using. Why do you need to write hundreds or thousands of makefiles? But in any event, this is not an unusual occurrence. On a typical make build system with auto-generated prerequisites it's not at all unusual to have one makefile per object file defining that object file'd prerequisites, and there can easily be hundreds or even thousands of these in a larger project. _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
