Atsushi Nemoto wrote:
> In the toplevel Makefile, CROSS_COMPILE is described as:
> # CROSS_COMPILE can be set on the command line
> # make CROSS_COMPILE=ia64-linux-
> # Alternatively CROSS_COMPILE can be set in the environment.
> # Default value for CROSS_COMPILE is not to prefix executables
> # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
> And currently, arch/mips/Makefile assigns CROSS_COMPILE as:
> CROSS_COMPILE := $(tool-prefix)
> This overrides environment variable's settings unconditionaly so we
> can no do the 'alternative' method described above (specify
> CROSS_COMPILE by shell environment variable).
> If arch/mips/Makefile used "?=" assigment instead of ":=", we can
> specify CROSS_COMPILE by shell environment variable.
> Is there any reason to using ":=" ? If no, shouldn't we change
> arch/mips/Makefile corresponding to the description?
In general this seems correct.
Another point is that the kernel has this:
CROSS_COMPILE := $(tool-prefix)
bool "Are you using a crosscompiler"
Say Y here if you are compiling the kernel on a different
architecture than the one it is intended to run on.
I think the Kconfig could be changed to say that CONFIG_CROSSCOMPILE
makes the build system use a built-in default tool prefix.