Sometimes it is required to build only host U-Boot tools without building U-Boot itself for either board.
For example: * In "buildroot" "uboot-tools" could be built for host just to have an ability to create uImage. * Linux distributions ship "mkimage" utility as a separate substance. This patch allows building host U-Boot tools separately from U-Boot itself and what is more important user only needs to have host compiler (gcc). To build host tools just execute: ===== make tools HOST_TOOLS_ONLY=yes ===== Without this patch to generate tools user needs: 1. Configure any existing board with "make XXX_config" 2. Execute tools building but still cross-compiler will be invoked and if there's no proper cross-compiler in PATH compilation will fail. Signed-off-by: Alexey Brodkin <abrod...@synopsys.com> Cc: Masahiro Yamada <yamad...@jp.panasonic.com> Cc: Tom Rini <tr...@ti.com> Cc: Simon Glass <s...@chromium.org> --- Kbuild | 5 +++++ Makefile | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/Kbuild b/Kbuild index 1d89761..b5e348d 100644 --- a/Kbuild +++ b/Kbuild @@ -4,6 +4,9 @@ # 1) Generate generic-asm-offsets.h # 2) Generate asm-offsets.h +# Don't execute target below if building host tools only +ifneq ($(HOST_TOOLS_ONLY),yes) + ##### # 1) Generate generic-asm-offsets.h @@ -85,3 +88,5 @@ $(CPUDIR)/$(SOC)/asm-offsets.s: $(CPUDIR)/$(SOC)/asm-offsets.c FORCE $(obj)/$(offsets-file): $(CPUDIR)/$(SOC)/asm-offsets.s $(call cmd,offsets) + +endif diff --git a/Makefile b/Makefile index b795338..2fb8ea1 100644 --- a/Makefile +++ b/Makefile @@ -481,9 +481,12 @@ ifeq ($(dot-config),1) # load other configuration include $(srctree)/config.mk +# Don't check for config.mk presence if building host tools only +ifneq ($(HOST_TOOLS_ONLY),yes) ifeq ($(wildcard include/config.mk),) $(error "System not configured - see README") endif +endif # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use # that (or fail if absent). Otherwise, search for a linker script in a @@ -994,10 +997,14 @@ ifeq ($(CONFIG_SYS_GENERIC_BOARD),y) @/bin/false endif endif + +# Don't check for ldscript presence if building host tools only +ifneq ($(HOST_TOOLS_ONLY),yes) ifeq ($(wildcard $(LDSCRIPT)),) @echo >&2 " Could not find linker script." @/bin/false endif +endif archprepare: prepare1 scripts_basic -- 1.8.5.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot