#1522: Improve determining make dependencies --------------------------+------------------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: new Priority: major | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by eschnett):
This simple line does not work if one of the dependencies vanishes. Currently, if you have a header file in a thorn, and then remove the header file because you don't need it any more, the respective *.d file still records the dependency. Cactus will then abort with an error stating that it does not know how to generate this header file. A make *-cleandeps is required. This is annoying.
The magic above -- listing the header file without dependencies -- teaches make that this is fine, i.e. that the header file does not need to be generated. The respective source file will be recompiled (which needs to happen), and the correct dependencies be generated.
This is actually a long-standing and deep problem with Makefiles. I'm sure there is a discussion on the web regarding this, but I unfortunately don't have a pointer.