automake: Dependencies

1 
1 8.19 Automatic dependency tracking
1 ==================================
1 
1 As a developer it is often painful to continually update the
1 ‘Makefile.am’ whenever the include-file dependencies change in a
1 project.  Automake supplies a way to automatically track dependency
1 changes (⇒Dependency Tracking).
1 
1    Automake always uses complete dependencies for a compilation,
1 including system headers.  Automake’s model is that dependency
1 computation should be a side effect of the build.  To this end,
1 dependencies are computed by running all compilations through a special
1 wrapper program called ‘depcomp’.  ‘depcomp’ understands how to coax
1 many different C and C++ compilers into generating dependency
1 information in the format it requires.  ‘automake -a’ will install
1 ‘depcomp’ into your source tree for you.  If ‘depcomp’ can’t figure out
1 how to properly invoke your compiler, dependency tracking will simply be
1 disabled for your build.
1 
11    Experience with earlier versions of Automake (⇒Dependency
 Tracking Evolution (automake-history)Dependency Tracking Evolution.)
1 taught us that it is not reliable to generate dependencies only on the
1 maintainer’s system, as configurations vary too much.  So instead
1 Automake implements dependency tracking at build time.
1 
1    Automatic dependency tracking can be suppressed by putting
1 ‘no-dependencies’ in the variable ‘AUTOMAKE_OPTIONS’, or passing
1 ‘no-dependencies’ as an argument to ‘AM_INIT_AUTOMAKE’ (this should be
1 the preferred way).  Or, you can invoke ‘automake’ with the ‘-i’ option.
1 Dependency tracking is enabled by default.
1 
1    The person building your package also can choose to disable
1 dependency tracking by configuring with ‘--disable-dependency-tracking’.
1