Target makefile fragments can set these Makefile variables.
LIBGCC2_CFLAGS
libgcc2.c
.
LIB2FUNCS_EXTRA
libgcc.a
.
Floating Point Emulation
libgcc.a
define FPBIT
and DPBIT
along with a few rules as follows:
# We want fine grained libraries, so use the new code # to build the floating point emulation libraries. FPBIT = fp-bit.c DPBIT = dp-bit.c fp-bit.c: $(srcdir)/config/fp-bit.c echo '#define FLOAT' > fp-bit.c cat $(srcdir)/config/fp-bit.c >> fp-bit.c dp-bit.c: $(srcdir)/config/fp-bit.c cat $(srcdir)/config/fp-bit.c > dp-bit.c
You may need to provide additional #defines at the beginning of fp-bit.c
and dp-bit.c
to control target endianness and other options.
CRTSTUFF_T_CFLAGS
crtstuff.c
.
See Initialization.
CRTSTUFF_T_CFLAGS_S
crtstuff.c
for shared
linking. Used if you use crtbeginS.o
and crtendS.o
in EXTRA-PARTS
.
See Initialization.
MULTILIB_OPTIONS
libgcc.a
to be compiled, one for
each set of incompatible options. When GCC invokes the linker, it
arranges to link in the right version of libgcc.a
, based on
the command line options used.
The MULTILIB_OPTIONS
macro lists the set of options for which
special versions of libgcc.a
must be built. Write options that
are mutually incompatible side by side, separated by a slash. Write
options that may be used together separated by a space. The build
procedure will build all combinations of compatible options.
For example, if you set MULTILIB_OPTIONS
to m68000/m68020
msoft-float
, Makefile
will build special versions of
libgcc.a
using the following sets of options: -m68000
,
-m68020
, -msoft-float
, -m68000 -msoft-float
, and
-m68020 -msoft-float
.
MULTILIB_DIRNAMES
MULTILIB_OPTIONS
is used, this variable specifies the
directory names that should be used to hold the various libraries.
Write one element in MULTILIB_DIRNAMES
for each element in
MULTILIB_OPTIONS
. If MULTILIB_DIRNAMES
is not used, the
default value will be MULTILIB_OPTIONS
, with all slashes treated
as spaces.
For example, if MULTILIB_OPTIONS
is set to m68000/m68020
msoft-float
, then the default value of MULTILIB_DIRNAMES
is
m68000 m68020 msoft-float
. You may specify a different value if
you desire a different set of directory names.
MULTILIB_MATCHES
MULTILIB_OPTIONS
, GCC needs to know about
any synonyms. In that case, set MULTILIB_MATCHES
to a list of
items of the form option=option
to describe all relevant
synonyms. For example, m68000=mc68000 m68020=mc68020
.
MULTILIB_EXCEPTIONS
MULTILIB_OPTIONS
being
specified, there are combinations that should not be built. In that
case, set MULTILIB_EXCEPTIONS
to be all of the switch exceptions
in shell case syntax that should not be built.
For example, in the PowerPC embedded ABI support, it is not desirable
to build libraries compiled with the -mcall-aix
option
and either of the -fleading-underscore
or -mlittle
options
at the same time. Therefore MULTILIB_EXCEPTIONS
is set to
*mcall-aix/*fleading-underscore* *mlittle/*mcall-aix*
MULTILIB_EXTRA_OPTS
libgcc.a
certain options should always be passed on to the
compiler. In that case, set MULTILIB_EXTRA_OPTS
to be the list
of options to be used for all builds.