diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2014-02-04 17:24:45 +0900 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-02-19 11:10:04 -0500 |
commit | 79fc0c5f498c3982aa4740c273ab1a9255063d9c (patch) | |
tree | 63ae9ab410770442f296586ae4207fdae51cfa35 | |
parent | 9a368d0f5818bb671c4567ca0e2dbabbf9c6724d (diff) | |
download | u-boot-imx-79fc0c5f498c3982aa4740c273ab1a9255063d9c.zip u-boot-imx-79fc0c5f498c3982aa4740c273ab1a9255063d9c.tar.gz u-boot-imx-79fc0c5f498c3982aa4740c273ab1a9255063d9c.tar.bz2 |
tools/env: cross-compile fw_printenv without setting HOSTCC
fw_printenv is a program which mostly runs on the target Linux.
Before switching to Kbuild, we needed to set HOSTCC at the
command line like this:
make HOSTCC=<your CC cross-compiler> env
Going forward we can cross compile it by specifying CROSS_COMPILE:
make CROSS_COMPILE=<your cross-compiler prefix> env
This looks more natural.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Gerhard Sittig <gsi@denx.de>
-rw-r--r-- | tools/.gitignore | 1 | ||||
-rw-r--r-- | tools/env/.gitignore | 2 | ||||
-rw-r--r-- | tools/env/Makefile | 17 | ||||
-rw-r--r-- | tools/env/README | 5 |
4 files changed, 18 insertions, 7 deletions
diff --git a/tools/.gitignore b/tools/.gitignore index 13283b7..6e4a287 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -16,7 +16,6 @@ /xway-swap-bytes /*.exe /easylogo/easylogo -/env/fw_printenv /gdb/gdbcont /gdb/gdbsend /kernel-doc/docproc diff --git a/tools/env/.gitignore b/tools/env/.gitignore new file mode 100644 index 0000000..804abac --- /dev/null +++ b/tools/env/.gitignore @@ -0,0 +1,2 @@ +fw_printenv +fw_printenv_unstripped diff --git a/tools/env/Makefile b/tools/env/Makefile index d47fe16..6ad81fd 100644 --- a/tools/env/Makefile +++ b/tools/env/Makefile @@ -5,6 +5,11 @@ # SPDX-License-Identifier: GPL-2.0+ # +# fw_printenv is supposed to run on the target system, which means it should be +# built with cross tools. Although it may look weird, we only replace "HOSTCC" +# with "CC" here for the maximum code reuse of scripts/Makefile.host. +HOSTCC = $(CC) + # Compile for a hosted environment on the target HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \ -idirafter $(SRCTREE)/tools/env \ @@ -15,9 +20,15 @@ ifeq ($(MTD_VERSION),old) HOST_EXTRACFLAGS += -DMTD_OLD endif -hostprogs-y := fw_printenv -always := $(hostprogs-y) +always := fw_printenv +hostprogs-y := fw_printenv_unstripped -fw_printenv-objs := fw_env.o fw_env_main.o \ +fw_printenv_unstripped-objs := fw_env.o fw_env_main.o \ crc32.o ctype.o linux_string.o \ env_attr.o env_flags.o + +quiet_cmd_strip = STRIP $@ + cmd_strip = $(STRIP) -o $@ $< + +$(obj)/fw_printenv: $(obj)/fw_printenv_unstripped FORCE + $(call if_changed,strip) diff --git a/tools/env/README b/tools/env/README index 1020b57..24e31bc 100644 --- a/tools/env/README +++ b/tools/env/README @@ -2,11 +2,10 @@ This is a demo implementation of a Linux command line tool to access the U-Boot's environment variables. -In the current version, there is an issue in cross-compilation. In order to cross-compile fw_printenv, run - make HOSTCC=<your CC cross-compiler> env + make CROSS_COMPILE=<your cross-compiler prefix> env in the root directory of the U-Boot distribution. For example, - make HOSTCC=arm-linux-gcc env + make CROSS_COMPILE=arm-linux- env For the run-time utility configuration uncomment the line #define CONFIG_FILE "/etc/fw_env.config" |