Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There are several ways to generate make-compatible dependencies for C/C++ projects:</p> <ul> <li><code>gcc -M</code>, which comes in several flavors and is sort of "the gold standard" in terms of accuracy, since it uses the actual compiler to generate the dependencies, and who would know better how to process <code>#include</code> statements than the compiler itself?</li> <li><a href="http://en.wikipedia.org/wiki/Makedepend" rel="nofollow"><code>makedepend</code></a>, which is generally discouraged in favor of compiler-generated dependencies.</li> <li><a href="http://freecode.com/projects/fastdep" rel="nofollow"><code>fastdep</code></a>, another third-party dependency generator which purports to be faster than <code>gcc -M</code>.</li> <li><a href="http://www.electric-cloud.com/products/electricaccelerator-dev.php" rel="nofollow">ElectricAccelerator</a> has a built-in feature called <em>autodep</em> which uses the filesystem usage activity of the commands invoked in the build to generate dependency information. The advantage of autodep over the alternatives is that it is extremely fast and completely tool and programming language independent -- while the others are all tied to C/C++ or require the use of a specific compiler, autodep works with all types of build tools.</li> </ul> <p>I did a <a href="http://www.electric-cloud.com/blog/2008/12/15/automatic-dependency-management-with-electricaccelerator/" rel="nofollow">performance comparison</a> of several of these options a while back.</p> <p>Disclaimer: I am the architect and lead developer of ElectricAccelerator.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload