kbuild: add "cross_tools" target to build tools for the target
Programs in tools/ directory are usually built for the host.
But some of them (mkimage, dumpimge, gen_eth_addr, etc.) are
useful on the target OS too.
Actually, prior to Kbuild, U-Boot could build tools for
the target like follows:
$ make <target_board>_config
$ export CROSS_COMPILE=<cross_gcc_prefix>
$ make HOSTCC=${CROSS_COMPILE}gcc HOSTSTRIP=${CROSS_COMPILE}strip tools
In Kbuild, we can no longer replace HOSTCC at the command line.
In order to get back that feature, this commit adds "cross-tools" target.
Usage:
Build tools for the host
$ make CROSS_COMPILE=<cross_gcc_prefix> tools
Build tools for the target
$ make CROSS_COMPILE=<cross_gcc_prefix> cross_tools
Besides, "make cross_tools" strip tools programs because we
generally expect smaller storages on embedded systems.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reported-by: Heiko Schocher <hs@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Tested-by: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
1ec8b4efce
commit
db5b339cca
3
Makefile
3
Makefile
|
|
@ -1155,6 +1155,9 @@ env: scripts_basic
|
|||
tools-all: export HOST_TOOLS_ALL=y
|
||||
tools-all: env tools ;
|
||||
|
||||
cross_tools: export CROSS_BUILD_TOOLS=y
|
||||
cross_tools: tools ;
|
||||
|
||||
.PHONY : CHANGELOG
|
||||
CHANGELOG:
|
||||
git log --no-merges U-Boot-1_1_5.. | \
|
||||
|
|
|
|||
|
|
@ -191,3 +191,15 @@ $(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
|
|||
|
||||
# Let clean descend into subdirs
|
||||
subdir- += env
|
||||
|
||||
ifneq ($(CROSS_BUILD_TOOLS),)
|
||||
HOSTCC = $(CC)
|
||||
|
||||
quiet_cmd_crosstools_strip = STRIP $^
|
||||
cmd_crosstools_strip = $(STRIP) $^; touch $@
|
||||
$(obj)/.strip: $(call objectify,$(filter $(always),$(hostprogs-y)))
|
||||
$(call cmd,crosstools_strip)
|
||||
|
||||
always += .strip
|
||||
endif
|
||||
clean-files += .strip
|
||||
|
|
|
|||
Loading…
Reference in New Issue