On Wed, 19 Feb 2014, Bjoern Michaelsen wrote:

It introduces a new "includedepcache" keyword. The first time GNU make runs
past it, it works just like a normal include, except that it tracks the
dependency relations described in the included file and writes them in a
simplified and better to parse format into the file ${includefile}.cache.

The second time GNU make comes past the includedepcache statement, it checks
for the ${includefile}.cache file, and if it is younger than ${includefile},
and if so, it reads that file instead of the ${includefile}.

Here's my summary interpretation of your email.

LibreOffice uses some form of automatic dependency tracking. You profiled the build and realized that a large fraction of (re)build time was spent while make parsed these dependencies. Thus you developed an efficient binary format that could be used instead of the traditional text files.


Here is my question.

Tools like Automake support automatic dependency tracking. The main makefile includes one dependency file per target. The deps are initialized to the empty list, and updated each time the compiler runs.

http://www.gnu.org/software/automake/manual/html_node/Dependencies.html

Is your "includedepcache" keyword intended for such dependency files, or are there other uses cases in mind as well?

Thanks,
Daniel

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to