manpagez: man pages & more
info automake
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.19 Automatic dependency tracking

As a developer it is often painful to continually update the ‘Makefile.am’ whenever the include-file dependencies change in a project. Automake supplies a way to automatically track dependency changes (see section Automatic Dependency Tracking).

Automake always uses complete dependencies for a compilation, including system headers. Automake’s model is that dependency computation should be a side effect of the build. To this end, dependencies are computed by running all compilations through a special wrapper program called depcomp. depcomp understands how to coax many different C and C++ compilers into generating dependency information in the format it requires. ‘automake -a’ will install depcomp into your source tree for you. If depcomp can’t figure out how to properly invoke your compiler, dependency tracking will simply be disabled for your build.

Experience with earlier versions of Automake (see section Dependency Tracking in Automake) taught us that it is not reliable to generate dependencies only on the maintainer’s system, as configurations vary too much. So instead Automake implements dependency tracking at build time.

Automatic dependency tracking can be suppressed by putting ‘no-dependencies’ in the variable AUTOMAKE_OPTIONS, or passing ‘no-dependencies’ as an argument to AM_INIT_AUTOMAKE (this should be the preferred way). Or, you can invoke automake with the ‘-i’ option. Dependency tracking is enabled by default.

The person building your package also can choose to disable dependency tracking by configuring with ‘--disable-dependency-tracking’.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on February 3, 2012 using texi2html 5.0.