* gcc.texi (Makefile): Add documentation for Makefile targets.

From-SVN: r39050
This commit is contained in:
DJ Delorie 2001-01-15 16:12:14 -05:00 committed by DJ Delorie
parent c1163e75d8
commit b8dea7e010
2 changed files with 104 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2001-01-15 DJ Delorie <dj@redhat.com>
* gcc.texi (Makefile): Add documentation for Makefile targets.
2001-01-15 Philip Blundell <philb@gnu.org>
* config/arm/arm.c (arm_finalize_pic): New arg "prologue".

View file

@ -242,6 +242,7 @@ bugs. It corresponds to GCC version 2.97.
* Service:: How to find suppliers of support for GCC.
* Contributing:: How to contribute to testing and developing GCC.
* VMS:: Using GCC on VMS.
* Makefile:: List of Makefile targets.
@end ifset
@ifset INTERNALS
* Portability:: Goals of GCC's portability features.
@ -3345,6 +3346,105 @@ itself. For example:
These macro definitions can be placed in a header file to minimize the
number of changes to your source code.
@node Makefile
@chapter Makefile Targets
@cindex makefile targets
@cindex targets, makefile
@table @code
@item all
This is the default target. Depending on what your build/host/target
configuration is, it coordinates all the things that need to be built.
@item doc
Produce info-formatted documentation. Also, @code{make dvi} is
available for DVI-formatted documentation, and @code{make
generated-manpages} to generate man pages.
@item mostlyclean
Delete the files made while building the compiler.
@item clean
That, and all the other files built by @code{make all}.
@item distclean
That, and all the files created by @code{configure}.
@item extraclean
That, and any temporary or intermediate files, like emacs backup files.
@item maintainer-clean
Distclean plus any file that can be generated from other files. Note
that additional tools may be required beyond what is normally needed to
build gcc.
@item install
Installs gcc.
@item uninstall
Deletes installed files.
@item check
Run the testsuite. This creates a @file{testsuite} subdirectory that
has various @file{.sum} and @file{.log} files containing the results of
the testing. You can run subsets with, for example, @code{make check-gcc}.
You can specify specific tests by setting RUNTESTFLAGS to be the name
of the @file{.exp} file, optionally followed by (for some tests) an equals
and a file wildcard, like:
@example
make check-gcc RUNTESTFLAGS="execute.exp=19980413-*"
@end example
Note that running the testsuite may require additional tools be
installed, such as TCL or dejagnu.
@item bootstrap
Builds gcc three times - once with the native compiler, once with the
native-built compiler it just built, and once with the compiler it built
the second time. In theory, the last two should produce the same
results, which @code{make compare} can check. Each step of this process
is called a "stage", and the results of each stage N (N=1..3) are copied
to a subdirectory @file{stageN/}.
@item bootstrap-lean
Like @code{bootstrap}, except that the various stages are removed once
they're no longer needed. This saves disk space.
@item bubblestrap
Once bootstrapped, this incrementally rebuilds each of the three stages,
one at a time. It does this by "bubbling" the stages up from their
stubdirectories, rebuilding them, and copying them back to their
subdirectories. This will allow you to, for example, quickly rebuild a
bootstrapped compiler after changing the sources, without having to do a
full bootstrap.
@item quickstrap
Rebuilds the most recently built stage. Since each stage requires
special invocation, using this target means you don't have to keep track
of which stage you're on or what invocation that stage needs.
@item cleanstrap
Removed everything (@code{make clean}) and rebuilds (@code{make bootstrap}).
@item stageN (N=1..4)
For each stage, moves the appropriate files to the stageN subdirectory.
@item unstageN (N=1..4)
Undoes the corresponding @code{stageN}.
@item restageN (N=1..4)
Undoes the corresponding @code{stageN} and rebuilds it with the
appropriate flags.
@item compare
Compares the results of stages 2 and 3. This ensures that the compiler
is running properly, since it should produce the same object files
regardless of how it itself was compiled.
@end table
@end ifset
@ifset INTERNALS