2002-02-01 18:16:02 +00:00
|
|
|
@c Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
|
|
|
@c This is part of the GCC manual.
|
|
|
|
@c For copying conditions, see the file gcc.texi.
|
|
|
|
|
|
|
|
@node Makefile
|
|
|
|
@subsection 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
|
2003-07-11 03:40:53 +00:00
|
|
|
Produce info-formatted documentation. Also, @samp{make dvi} is
|
|
|
|
available for DVI-formatted documentation, and @samp{make
|
2002-02-01 18:16:02 +00:00
|
|
|
generated-manpages} to generate man pages.
|
|
|
|
|
|
|
|
@item mostlyclean
|
|
|
|
Delete the files made while building the compiler.
|
|
|
|
|
|
|
|
@item clean
|
2003-07-11 03:40:53 +00:00
|
|
|
That, and all the other files built by @samp{make all}.
|
2002-02-01 18:16:02 +00:00
|
|
|
|
|
|
|
@item distclean
|
2003-07-11 03:40:53 +00:00
|
|
|
That, and all the files created by @command{configure}.
|
2002-02-01 18:16:02 +00:00
|
|
|
|
|
|
|
@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
|
2003-07-11 03:40:53 +00:00
|
|
|
the testing. You can run subsets with, for example, @samp{make check-gcc}.
|
2002-02-01 18:16:02 +00:00
|
|
|
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:
|
|
|
|
|
2002-09-17 04:03:37 +00:00
|
|
|
@smallexample
|
2002-02-01 18:16:02 +00:00
|
|
|
make check-gcc RUNTESTFLAGS="execute.exp=19980413-*"
|
2002-09-17 04:03:37 +00:00
|
|
|
@end smallexample
|
2002-02-01 18:16:02 +00:00
|
|
|
|
|
|
|
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
|
2003-07-11 03:40:53 +00:00
|
|
|
results, which @samp{make compare} can check. Each step of this process
|
2002-02-01 18:16:02 +00:00
|
|
|
is called a ``stage'', and the results of each stage @var{N}
|
|
|
|
(@var{N} = 1@dots{}3) are copied to a subdirectory @file{stage@var{N}/}.
|
|
|
|
|
|
|
|
@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
|
|
|
|
subdirectories, 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
|
2003-07-11 03:40:53 +00:00
|
|
|
Removed everything (@samp{make clean}) and rebuilds (@samp{make bootstrap}).
|
2002-02-01 18:16:02 +00:00
|
|
|
|
|
|
|
@item stage@var{N} (@var{N} = 1@dots{}4)
|
|
|
|
For each stage, moves the appropriate files to the @file{stage@var{N}}
|
|
|
|
subdirectory.
|
|
|
|
|
|
|
|
@item unstage@var{N} (@var{N} = 1@dots{}4)
|
|
|
|
Undoes the corresponding @code{stage@var{N}}.
|
|
|
|
|
|
|
|
@item restage@var{N} (@var{N} = 1@dots{}4)
|
|
|
|
Undoes the corresponding @code{stage@var{N}} 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
|