Back: PLATFORMS
Forward: aclocal process
 
FastBack: Autoconf Macro Reference
Up: Top
FastForward: Autoconf Macro Reference
Top: Autoconf, Automake, and Libtool
Contents: Table of Contents
Index: Index
About: About this document

C. Generated File Dependencies

These diagrams show the data flows associated with each of the tools you might need to use when bootstrapping a project with GNU Autotools. A lot of files are consumed and produced by these tools, and it is important that all of the required input files are present (and correct) at each stage -- configure requires `Makefile.in' and produces `Makefile' for example. There are many of these relationships, and these diagrams should help you to visualize the dependencies. They will be invaluable while you learn your way around GNU Autotools, but before long you will find that you need to refer to them rarely, if at all.

They do not show how the individual files are laid out in a project directory tree, since some of them, `config.guess' for example, have no single place at which they must appear, and others, `Makefile.am' for example, may be present in several places, depending on how you want to structure your project directories.

The key to the diagrams in this appendix follows:

  • The boxes are the individual tools which comprise GNU Autotools.
  • Where multiple interlinked boxes appear in a single diagram, this represents one tool itself running other helper programs. If a box is behind another box, it is a (group of) helper program(s) that may be automatically run by the boxes in front.
  • Dotted arrows are for optional files, which may be a part of the process.
  • Where an input arrow and output arrow are aligned horizontally, the output is created from the input by the process between the two.
  • words in parentheses, "()", are for deprecated files which are supported but no longer necessary.

Notice that in some cases, a file output during one stage of the whole process becomes the driver for a subsequent stage.

Each of the following diagrams represents the execution of one of the tools in GNU Autotools; they are presented in the order that we recommend you run them, though some stages may not be required for your project. You shouldn't run libtoolize if your project doesn't use libtool, for example.


This document was generated by Joost van Baal on August, 23 2005 using texi2html