Blame view

tools/Makefile 5.29 KB
efee17099   wdenk   Initial revision
1
  #
f93286397   Marian Balakowicz   Add support for a...
2
  # (C) Copyright 2000-2006
efee17099   wdenk   Initial revision
3
4
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
  # SPDX-License-Identifier:	GPL-2.0+
efee17099   wdenk   Initial revision
6
  #
a98ae78fe   François Revol   Makefile: move in...
7
  #
2f8d396b9   Peter Tyser   Add support for b...
8
  # toolchains targeting win32 generate .exe files
efee17099   wdenk   Initial revision
9
  #
2f8d396b9   Peter Tyser   Add support for b...
10
  ifneq (,$(findstring WIN32 ,$(shell $(HOSTCC) -E -dM -xc /dev/null)))
efee17099   wdenk   Initial revision
11
12
13
14
  SFX = .exe
  else
  SFX =
  endif
c7c0d542a   Mike Frysinger   tools: allow peop...
15
16
17
  # Enable all the config-independent tools
  ifneq ($(HOST_TOOLS_ALL),)
  CONFIG_LCD_LOGO = y
570d7d50b   Mike Frysinger   tools: enable img...
18
  CONFIG_CMD_LOADS = y
c7c0d542a   Mike Frysinger   tools: allow peop...
19
  CONFIG_CMD_NET = y
60b74bde9   Daniel Schwierzeck   MIPS: INCA-IP: re...
20
  CONFIG_XWAY_SWAP_BYTES = y
c7c0d542a   Mike Frysinger   tools: allow peop...
21
22
23
  CONFIG_NETCONSOLE = y
  CONFIG_SHA1_CHECK_UB_IMG = y
  endif
2887c4733   Masahiro Yamada   Makefile: refacto...
24
25
  subdir-$(HOST_TOOLS_ALL) += easylogo
  subdir-$(HOST_TOOLS_ALL) += gdb
2ad6e27dc   Mike Frysinger   tools: make it po...
26
27
28
29
30
31
32
33
34
35
  # Merge all the different vars for envcrc into one
  ENVCRC-$(CONFIG_ENV_IS_EMBEDDED) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_DATAFLASH) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_EEPROM) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_ONENAND) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_NAND) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_NVRAM) = y
  ENVCRC-$(CONFIG_ENV_IS_IN_SPI_FLASH) = y
  CONFIG_BUILD_ENVCRC ?= $(ENVCRC-y)
940db16d2   Masahiro Yamada   tools: convert ma...
36
37
  # TODO: CONFIG_CMD_LICENSE does not work
  hostprogs-$(CONFIG_CMD_LICENSE) += bin2header$(SFX)
ee3584a59   Peter Tyser   tools/Makefile: S...
38

940db16d2   Masahiro Yamada   tools: convert ma...
39
40
  hostprogs-$(CONFIG_LCD_LOGO) += bmp_logo$(SFX)
  hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
41
  HOSTCFLAGS_bmp_logo$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
42
43
44
45
46
  
  hostprogs-$(CONFIG_BUILD_ENVCRC) += envcrc$(SFX)
  envcrc$(SFX)-objs := crc32.o env_embedded.o envcrc.o sha1.o
  
  hostprogs-$(CONFIG_CMD_NET) += gen_eth_addr$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
47
  HOSTCFLAGS_gen_eth_addr$(SFX).o := -pedantic
ee3584a59   Peter Tyser   tools/Makefile: S...
48

940db16d2   Masahiro Yamada   tools: convert ma...
49
  hostprogs-$(CONFIG_CMD_LOADS) += img2srec$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
50
  HOSTCFLAGS_img2srec$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
51
52
  
  hostprogs-$(CONFIG_XWAY_SWAP_BYTES) += xway-swap-bytes$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
53
  HOSTCFLAGS_xway-swap-bytes$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
54
55
56
57
58
59
60
  
  hostprogs-y += mkenvimage$(SFX)
  mkenvimage$(SFX)-objs := crc32.o mkenvimage.o os_support.o
  
  hostprogs-y += dumpimage$(SFX) mkimage$(SFX)
  
  FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := image-sig.o
ee3584a59   Peter Tyser   tools/Makefile: S...
61
  # Flattened device tree objects
940db16d2   Masahiro Yamada   tools: convert ma...
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
  LIBFDT_OBJS := fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o
  RSA_OBJS-$(CONFIG_FIT_SIGNATURE) := rsa-sign.o
  
  # common objs for dumpimage and mkimage
  dumpimage-mkimage-objs := aisimage.o \
  			$(FIT_SIG_OBJS-y) \
  			crc32.o \
  			default_image.o \
  			fit_image.o \
  			image-fit.o \
  			image-host.o \
  			image.o \
  			imagetool.o \
  			imximage.o \
  			kwbimage.o \
  			md5.o \
  			mxsimage.o \
  			omapimage.o \
  			os_support.o \
  			pblimage.o \
  			sha1.o \
  			ublimage.o \
  			$(LIBFDT_OBJS) \
  			$(RSA_OBJS-y)
  
  dumpimage$(SFX)-objs := $(dumpimage-mkimage-objs) dumpimage.o
  mkimage$(SFX)-objs   := $(dumpimage-mkimage-objs) mkimage.o
  
  # TODO(sjg@chromium.org): Is this correct on Mac OS?
  
  # MXSImage needs LibSSL
  ifneq ($(CONFIG_MX23)$(CONFIG_MX28),)
  HOSTLOADLIBES_dumpimage$(SFX) := -lssl -lcrypto
  HOSTLOADLIBES_mkimage$(SFX) := -lssl -lcrypto
  # Add CONFIG_MXS into host CFLAGS, so we can check whether or not register
  # the mxsimage support within tools/mxsimage.c .
6825a95b0   Masahiro Yamada   kbuild: use Linux...
98
  HOSTCFLAGS_mxsimage.o += -DCONFIG_MXS
940db16d2   Masahiro Yamada   tools: convert ma...
99
100
101
102
103
104
105
106
107
108
109
110
111
  endif
  
  ifdef CONFIG_FIT_SIGNATURE
  HOSTLOADLIBES_dumpimage$(SFX) := -lssl -lcrypto
  HOSTLOADLIBES_mkimage$(SFX) := -lssl -lcrypto
  
  # This affects include/image.h, but including the board config file
  # is tricky, so manually define this options here.
  HOST_EXTRACFLAGS	+= -DCONFIG_FIT_SIGNATURE
  endif
  
  hostprogs-$(CONFIG_EXYNOS5250) += mkexynosspl$(SFX)
  hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
112
  HOSTCFLAGS_mkexynosspl$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
113
114
115
  
  hostprogs-$(CONFIG_MX23) += mxsboot$(SFX)
  hostprogs-$(CONFIG_MX28) += mxsboot$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
116
  HOSTCFLAGS_mxsboot$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
117
118
119
120
121
122
123
124
125
126
127
  
  hostprogs-$(CONFIG_NETCONSOLE) += ncb$(SFX)
  hostprogs-$(CONFIG_SHA1_CHECK_UB_IMG) += ubsha1$(SFX)
  
  ubsha1$(SFX)-objs := os_support.o sha1.o ubsha1.o
  
  HOSTCFLAGS_ubsha1.o := -pedantic
  
  hostprogs-$(CONFIG_KIRKWOOD) += kwboot$(SFX)
  hostprogs-y += proftool$(SFX)
  hostprogs-$(CONFIG_STATIC_RELA) += relocate-rela$(SFX)
ee3584a59   Peter Tyser   tools/Makefile: S...
128

940db16d2   Masahiro Yamada   tools: convert ma...
129
130
131
132
133
134
135
136
137
  # We build some files with extra pedantic flags to try to minimize things
  # that won't build on some weird host compiler -- though there are lots of
  # exceptions for files that aren't complaint.
  HOSTCFLAGS_crc32.o := -pedantic
  HOSTCFLAGS_md5.o := -pedantic
  HOSTCFLAGS_sha1.o := -pedantic
  
  # Don't build by default
  #hostprogs-$(CONFIG_PPC) += mpc86x_clk$(SFX)
6825a95b0   Masahiro Yamada   kbuild: use Linux...
138
  #HOSTCFLAGS_mpc86x_clk$(SFX).o := -pedantic
940db16d2   Masahiro Yamada   tools: convert ma...
139
140
  
  always := $(hostprogs-y)
19c402afa   Simon Glass   image: Add RSA su...
141

335ffe7e0   Peter Tyser   tools/Makefile: B...
142
  # Generated LCD/video logo
9e4140329   Masahiro Yamada   kbuild: change ou...
143
144
  LOGO_H = $(objtree)/include/bmp_logo.h
  LOGO_DATA_H = $(objtree)/include/bmp_logo_data.h
335ffe7e0   Peter Tyser   tools/Makefile: B...
145
  LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_H)
c270730f5   Che-Liang Chiou   tools: logo: spli...
146
  LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_DATA_H)
335ffe7e0   Peter Tyser   tools/Makefile: B...
147
  LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_H)
c270730f5   Che-Liang Chiou   tools: logo: spli...
148
  LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_DATA_H)
ee3584a59   Peter Tyser   tools/Makefile: S...
149

96903dae0   Otavio Salvador   build: Use generi...
150
  # Generic logo
ee3584a59   Peter Tyser   tools/Makefile: S...
151
  ifeq ($(LOGO_BMP),)
9e4140329   Masahiro Yamada   kbuild: change ou...
152
  LOGO_BMP= $(srctree)/$(src)/logos/denx.bmp
96903dae0   Otavio Salvador   build: Use generi...
153
154
155
  
  # Use board logo and fallback to vendor
  ifneq ($(wildcard logos/$(BOARD).bmp),)
9e4140329   Masahiro Yamada   kbuild: change ou...
156
  LOGO_BMP= $(srctree)/$(src)/logos/$(BOARD).bmp
96903dae0   Otavio Salvador   build: Use generi...
157
158
  else
  ifneq ($(wildcard logos/$(VENDOR).bmp),)
9e4140329   Masahiro Yamada   kbuild: change ou...
159
  LOGO_BMP= $(srctree)/$(src)/logos/$(VENDOR).bmp
ee3584a59   Peter Tyser   tools/Makefile: S...
160
  endif
348de314b   Anatolij Gustschin   digsy_mtc: move b...
161
  endif
ee3584a59   Peter Tyser   tools/Makefile: S...
162

96903dae0   Otavio Salvador   build: Use generi...
163
  endif # !LOGO_BMP
efee17099   wdenk   Initial revision
164
165
  #
  # Use native tools and options
2f8d396b9   Peter Tyser   Add support for b...
166
  # Define __KERNEL_STRICT_NAMES to prevent typedef overlaps
2db1c3fc6   York Sun   tools/Makefile: M...
167
  # Define _GNU_SOURCE to obtain the getline prototype from stdio.h
efee17099   wdenk   Initial revision
168
  #
940db16d2   Masahiro Yamada   tools: convert ma...
169
  HOST_EXTRACFLAGS += -include $(SRCTREE)/include/libfdt_env.h \
fea1ca8e3   Masahiro Yamada   Makefile: refacto...
170
171
172
  		$(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \
  		-I$(SRCTREE)/lib/libfdt \
  		-I$(SRCTREE)/tools \
14d0a02a1   Wolfgang Denk   Rename TEXT_BASE ...
173
174
  		-DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
  		-DUSE_HOSTCC \
2db1c3fc6   York Sun   tools/Makefile: M...
175
176
  		-D__KERNEL_STRICT_NAMES \
  		-D_GNU_SOURCE
8cf30809a   Bartlomiej Sieka   [new uImage] Add ...
177

6825a95b0   Masahiro Yamada   kbuild: use Linux...
178
  __build:	$(LOGO-y)
efee17099   wdenk   Initial revision
179

9e4140329   Masahiro Yamada   kbuild: change ou...
180
181
  $(LOGO_H):	$(obj)/bmp_logo $(LOGO_BMP)
  	$(obj)/bmp_logo --gen-info $(LOGO_BMP) > $@
c270730f5   Che-Liang Chiou   tools: logo: spli...
182

9e4140329   Masahiro Yamada   kbuild: change ou...
183
184
  $(LOGO_DATA_H):	$(obj)/bmp_logo $(LOGO_BMP)
  	$(obj)/bmp_logo --gen-data $(LOGO_BMP) > $@
2887c4733   Masahiro Yamada   Makefile: refacto...
185
186
187
  
  # Let clean descend into subdirs
  subdir- += env