Hello, I'm currently using an IDE which builds c++ projects for several platforms (win32, windows mobile, symbian etc). This IDE doesn't keep a build dependency list and simply rebuilds the entire project every time. This wastes a lot of our time, which made us consider implementing a smarter build process: cpp files will be recompiled only if they're modify dates have been updated or if headers they include (recursively) have been updated.
I found a perl script called cinclude2dot.pl, which outputs include dependencies from a project's directory. This output may be used by graphviz to create a dependency tree. The problems are: (a) this script isn't reliable (it doesn't parse "/*" comments), and (b) it runs on a single directory and our headers and sources are placed in multiple directories.
My questions: 1. Is there a similar script/batch/program that can output header dependencies more efficiently? 2. Is there anything other than modify dates and include dependencies that I should consider when coding a "smarter" build process?
Other insights will be great too! thanks!