summaryrefslogtreecommitdiff
path: root/package/u-boot/patches/patch-Makefile
blob: b2c069111ac8b8a6f3a6cb8c0bec428fd17b61ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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 <abrodkin at synopsys.com>

Cc: Masahiro Yamada <yamada.m at jp.panasonic.com>
Cc: Tom Rini <trini at ti.com>
Cc: Simon Glass <sjg at chromium.org>

--- u-boot-2014.07.orig/Makefile	2014-07-14 19:16:45.000000000 +0200
+++ u-boot-2014.07/Makefile	2014-08-11 10:06:13.315946952 +0200
@@ -483,9 +483,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
@@ -1055,10 +1058,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