2002-07-20 20:14:13 +00:00
|
|
|
#
|
2006-09-01 17:49:50 +00:00
|
|
|
# (C) Copyright 2000-2006
|
2002-07-20 20:14:13 +00:00
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
#
|
2013-07-08 07:37:19 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
2002-07-20 20:14:13 +00:00
|
|
|
#
|
|
|
|
|
2010-01-21 09:03:22 +00:00
|
|
|
# Enable all the config-independent tools
|
|
|
|
ifneq ($(HOST_TOOLS_ALL),)
|
|
|
|
CONFIG_LCD_LOGO = y
|
2010-08-15 04:03:19 +00:00
|
|
|
CONFIG_CMD_LOADS = y
|
2010-01-21 09:03:22 +00:00
|
|
|
CONFIG_CMD_NET = y
|
2011-07-27 11:22:36 +00:00
|
|
|
CONFIG_XWAY_SWAP_BYTES = y
|
2010-01-21 09:03:22 +00:00
|
|
|
CONFIG_NETCONSOLE = y
|
|
|
|
CONFIG_SHA1_CHECK_UB_IMG = y
|
2016-11-10 12:13:23 +00:00
|
|
|
CONFIG_ARCH_SUNXI = y
|
2010-01-21 09:03:22 +00:00
|
|
|
endif
|
|
|
|
|
2014-02-04 08:24:39 +00:00
|
|
|
subdir-$(HOST_TOOLS_ALL) += easylogo
|
|
|
|
subdir-$(HOST_TOOLS_ALL) += gdb
|
|
|
|
|
2011-06-19 08:27:39 +00:00
|
|
|
# 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)
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER) += atmel_pmecc_params
|
2014-05-19 12:23:40 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_LCD_LOGO) += bmp_logo
|
|
|
|
hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo
|
|
|
|
HOSTCFLAGS_bmp_logo.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_BUILD_ENVCRC) += envcrc
|
|
|
|
envcrc-objs := envcrc.o lib/crc32.o common/env_embedded.o lib/sha1.o
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_CMD_NET) += gen_eth_addr
|
|
|
|
HOSTCFLAGS_gen_eth_addr.o := -pedantic
|
2009-03-13 23:54:34 +00:00
|
|
|
|
2016-11-25 15:30:32 +00:00
|
|
|
hostprogs-$(CONFIG_CMD_NET) += gen_ethaddr_crc
|
|
|
|
gen_ethaddr_crc-objs := gen_ethaddr_crc.o lib/crc8.o
|
|
|
|
HOSTCFLAGS_gen_ethaddr_crc.o := -pedantic
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_CMD_LOADS) += img2srec
|
|
|
|
HOSTCFLAGS_img2srec.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_XWAY_SWAP_BYTES) += xway-swap-bytes
|
|
|
|
HOSTCFLAGS_xway-swap-bytes.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-y += mkenvimage
|
|
|
|
mkenvimage-objs := mkenvimage.o os_support.o lib/crc32.o
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-y += dumpimage mkimage
|
|
|
|
hostprogs-$(CONFIG_FIT_SIGNATURE) += fit_info fit_check_sign
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 05:04:32 +00:00
|
|
|
FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := common/image-sig.o
|
2009-03-13 23:54:34 +00:00
|
|
|
# Flattened device tree objects
|
2017-05-27 13:38:17 +00:00
|
|
|
LIBFDT_CSRCS := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c \
|
|
|
|
fdt_empty_tree.c fdt_addresses.c fdt_overlay.c \
|
|
|
|
fdt_region.c
|
2017-05-27 13:38:19 +00:00
|
|
|
|
|
|
|
# Unfortunately setup.py below cannot handle srctree being ".." which it often
|
|
|
|
# is. It fails with an error like:
|
|
|
|
# Fatal error: can't create build/temp.linux-x86_64-2.7/../lib/libfdt/fdt.o:
|
|
|
|
# No such file or directory
|
|
|
|
# To fix this, use an absolute path.
|
|
|
|
libfdt_tree := $(shell readlink -f $(srctree)/lib/libfdt)
|
|
|
|
|
|
|
|
LIBFDT_SRCS := $(addprefix $(libfdt_tree)/, $(LIBFDT_CSRCS))
|
|
|
|
LIBFDT_SWIG := $(addprefix $(libfdt_tree)/, pylibfdt/libfdt.i)
|
2017-05-27 13:38:17 +00:00
|
|
|
LIBFDT_OBJS := $(addprefix lib/libfdt/, $(patsubst %.c, %.o, $(LIBFDT_CSRCS)))
|
|
|
|
|
2014-06-06 05:04:32 +00:00
|
|
|
RSA_OBJS-$(CONFIG_FIT_SIGNATURE) := $(addprefix lib/rsa/, \
|
2015-01-23 10:31:50 +00:00
|
|
|
rsa-sign.o rsa-verify.o rsa-checksum.o \
|
|
|
|
rsa-mod-exp.o)
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2015-12-29 12:22:43 +00:00
|
|
|
ROCKCHIP_OBS = lib/rc4.o rkcommon.o rkimage.o rksd.o rkspi.o
|
2015-08-30 22:55:24 +00:00
|
|
|
|
2014-02-04 08:24:10 +00:00
|
|
|
# common objs for dumpimage and mkimage
|
|
|
|
dumpimage-mkimage-objs := aisimage.o \
|
2014-05-19 12:23:39 +00:00
|
|
|
atmelimage.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
$(FIT_SIG_OBJS-y) \
|
2014-06-12 13:24:51 +00:00
|
|
|
common/bootm.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
lib/crc32.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
default_image.o \
|
2014-06-22 04:33:29 +00:00
|
|
|
lib/fdtdec_common.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
lib/fdtdec.o \
|
2014-03-03 11:19:29 +00:00
|
|
|
fit_common.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
fit_image.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
common/image-fit.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
image-host.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
common/image.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
imagetool.o \
|
|
|
|
imximage.o \
|
|
|
|
kwbimage.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
lib/md5.o \
|
2015-03-31 09:40:49 +00:00
|
|
|
lpc32xximage.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
mxsimage.o \
|
|
|
|
omapimage.o \
|
|
|
|
os_support.o \
|
|
|
|
pblimage.o \
|
2014-05-14 02:45:00 +00:00
|
|
|
pbl_crc32.o \
|
2016-09-26 07:08:06 +00:00
|
|
|
vybridimage.o \
|
2015-08-30 22:55:24 +00:00
|
|
|
$(ROCKCHIP_OBS) \
|
2014-03-06 02:40:50 +00:00
|
|
|
socfpgaimage.o \
|
2014-06-06 05:04:32 +00:00
|
|
|
lib/sha1.o \
|
|
|
|
lib/sha256.o \
|
2015-01-23 10:31:58 +00:00
|
|
|
common/hash.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
ublimage.o \
|
2015-11-17 12:56:56 +00:00
|
|
|
zynqimage.o \
|
2016-04-27 12:03:29 +00:00
|
|
|
zynqmpimage.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
$(LIBFDT_OBJS) \
|
2016-07-11 14:09:48 +00:00
|
|
|
gpimage.o \
|
|
|
|
gpimage-common.o \
|
2014-02-04 08:24:10 +00:00
|
|
|
$(RSA_OBJS-y)
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
dumpimage-objs := $(dumpimage-mkimage-objs) dumpimage.o
|
|
|
|
mkimage-objs := $(dumpimage-mkimage-objs) mkimage.o
|
|
|
|
fit_info-objs := $(dumpimage-mkimage-objs) fit_info.o
|
|
|
|
fit_check_sign-objs := $(dumpimage-mkimage-objs) fit_check_sign.o
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2017-05-27 13:38:19 +00:00
|
|
|
# Unfortunately setup.py (or actually the Python distutil implementation)
|
|
|
|
# puts files into the same directory as the .i file. We cannot touch the source
|
|
|
|
# directory, so we copy the .i file into the tools/ build subdirectory before
|
|
|
|
# calling setup. This directory is safe to write to. This ensures that we get
|
|
|
|
# all three files in $(obj)/tools: _libfdt.so, libfdt.py and libfdt_wrap.c
|
|
|
|
# The latter is a temporary file which we could actually remove.
|
|
|
|
tools/_libfdt.so: $(LIBFDT_SRCS) $(LIBFDT_SWIG)
|
|
|
|
cp $(LIBFDT_SWIG) tools/.
|
|
|
|
unset CC; \
|
|
|
|
unset CROSS_COMPILE; \
|
|
|
|
LDFLAGS="$(HOSTLDFLAGS)" CFLAGS= VERSION="u-boot-$(UBOOTVERSION)" \
|
|
|
|
CPPFLAGS="$(_hostc_flags)" OBJDIR=tools \
|
|
|
|
SOURCES="$(LIBFDT_SRCS) tools/libfdt.i" \
|
|
|
|
SWIG_OPTS="-I$(srctree)/lib/libfdt -I$(srctree)/lib" \
|
|
|
|
$(libfdt_tree)/pylibfdt/setup.py --quiet build_ext \
|
|
|
|
--build-lib tools
|
|
|
|
|
2014-02-04 08:24:10 +00:00
|
|
|
ifneq ($(CONFIG_MX23)$(CONFIG_MX28),)
|
|
|
|
# Add CONFIG_MXS into host CFLAGS, so we can check whether or not register
|
|
|
|
# the mxsimage support within tools/mxsimage.c .
|
kbuild: use Linux Kernel build scripts
Now we are ready to switch over to real Kbuild.
This commit disables temporary scripts:
scripts/{Makefile.build.tmp, Makefile.host.tmp}
and enables real Kbuild scripts:
scripts/{Makefile.build,Makefile.host,Makefile.lib}.
This switch is triggered by the line in scripts/Kbuild.include
-build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
+build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
We need to adjust some build scripts for U-Boot.
But smaller amount of modification is preferable.
Additionally, we need to fix compiler flags which are
locally added or removed.
In Kbuild, it is not allowed to change CFLAGS locally.
Instead, ccflags-y, asflags-y, cppflags-y,
CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
are prepared for that purpose.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Gerhard Sittig <gsi@denx.de>
2014-02-04 08:24:28 +00:00
|
|
|
HOSTCFLAGS_mxsimage.o += -DCONFIG_MXS
|
2014-02-04 08:24:10 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_FIT_SIGNATURE
|
|
|
|
# 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
|
|
|
|
|
2015-07-20 09:20:38 +00:00
|
|
|
ifdef CONFIG_SYS_U_BOOT_OFFS
|
|
|
|
HOSTCFLAGS_kwbimage.o += -DCONFIG_SYS_U_BOOT_OFFS=$(CONFIG_SYS_U_BOOT_OFFS)
|
2015-02-07 12:03:00 +00:00
|
|
|
endif
|
|
|
|
|
2017-01-11 15:01:00 +00:00
|
|
|
ifneq ($(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X),)
|
|
|
|
HOSTCFLAGS_kwbimage.o += -DCONFIG_KWB_SECURE
|
|
|
|
endif
|
|
|
|
|
2014-06-05 07:41:49 +00:00
|
|
|
# MXSImage needs LibSSL
|
2017-01-11 15:01:00 +00:00
|
|
|
ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X)$(CONFIG_FIT_SIGNATURE),)
|
2015-05-16 16:36:15 +00:00
|
|
|
HOSTLOADLIBES_mkimage += \
|
|
|
|
$(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
|
2016-02-16 22:29:28 +00:00
|
|
|
|
|
|
|
# OS X deprecate openssl in favour of CommonCrypto, supress deprecation
|
|
|
|
# warnings on those systems
|
|
|
|
ifeq ($(HOSTOS),darwin)
|
|
|
|
HOSTCFLAGS_mxsimage.o += -Wno-deprecated-declarations
|
|
|
|
HOSTCFLAGS_image-sig.o += -Wno-deprecated-declarations
|
|
|
|
HOSTCFLAGS_rsa-sign.o += -Wno-deprecated-declarations
|
|
|
|
endif
|
2014-06-05 07:41:49 +00:00
|
|
|
endif
|
|
|
|
|
2017-06-25 07:43:33 +00:00
|
|
|
HOSTCFLAGS_fit_image.o += -DMKIMAGE_DTC=\"$(DTC)\"
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
HOSTLOADLIBES_dumpimage := $(HOSTLOADLIBES_mkimage)
|
|
|
|
HOSTLOADLIBES_fit_info := $(HOSTLOADLIBES_mkimage)
|
|
|
|
HOSTLOADLIBES_fit_check_sign := $(HOSTLOADLIBES_mkimage)
|
2014-06-05 07:41:49 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_EXYNOS5250) += mkexynosspl
|
|
|
|
hostprogs-$(CONFIG_EXYNOS5420) += mkexynosspl
|
|
|
|
HOSTCFLAGS_mkexynosspl.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-12-16 05:02:38 +00:00
|
|
|
ifdtool-objs := $(LIBFDT_OBJS) ifdtool.o
|
2014-11-11 01:00:22 +00:00
|
|
|
hostprogs-$(CONFIG_X86) += ifdtool
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_MX23) += mxsboot
|
|
|
|
hostprogs-$(CONFIG_MX28) += mxsboot
|
|
|
|
HOSTCFLAGS_mxsboot.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2016-10-13 08:49:35 +00:00
|
|
|
hostprogs-$(CONFIG_ARCH_SUNXI) += mksunxiboot
|
2017-02-27 17:22:02 +00:00
|
|
|
hostprogs-$(CONFIG_ARCH_SUNXI) += sunxi-spl-image-builder
|
|
|
|
sunxi-spl-image-builder-objs := sunxi-spl-image-builder.o lib/bch.o
|
2014-05-05 10:52:30 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_NETCONSOLE) += ncb
|
|
|
|
hostprogs-$(CONFIG_SHA1_CHECK_UB_IMG) += ubsha1
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
ubsha1-objs := os_support.o ubsha1.o lib/sha1.o
|
2014-02-04 08:24:10 +00:00
|
|
|
|
|
|
|
HOSTCFLAGS_ubsha1.o := -pedantic
|
|
|
|
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-$(CONFIG_KIRKWOOD) += kwboot
|
2015-12-21 12:56:33 +00:00
|
|
|
hostprogs-$(CONFIG_ARCH_MVEBU) += kwboot
|
2014-06-06 11:46:44 +00:00
|
|
|
hostprogs-y += proftool
|
|
|
|
hostprogs-$(CONFIG_STATIC_RELA) += relocate-rela
|
2009-03-13 23:54:34 +00:00
|
|
|
|
2015-06-23 21:38:28 +00:00
|
|
|
hostprogs-y += fdtgrep
|
|
|
|
fdtgrep-objs += $(LIBFDT_OBJS) fdtgrep.o
|
|
|
|
|
2014-02-04 08:24:10 +00:00
|
|
|
# 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
|
2016-11-25 15:30:31 +00:00
|
|
|
HOSTCFLAGS_crc8.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
HOSTCFLAGS_md5.o := -pedantic
|
|
|
|
HOSTCFLAGS_sha1.o := -pedantic
|
2014-03-03 11:19:25 +00:00
|
|
|
HOSTCFLAGS_sha256.o := -pedantic
|
2014-02-04 08:24:10 +00:00
|
|
|
|
2014-06-06 05:04:32 +00:00
|
|
|
quiet_cmd_wrap = WRAP $@
|
2014-10-30 02:06:11 +00:00
|
|
|
cmd_wrap = echo "\#include <../$(patsubst $(obj)/%,%,$@)>" >$@
|
2014-06-06 05:04:32 +00:00
|
|
|
|
|
|
|
$(obj)/lib/%.c $(obj)/common/%.c:
|
|
|
|
$(call cmd,wrap)
|
|
|
|
|
|
|
|
clean-dirs := lib common
|
|
|
|
|
2014-02-04 08:24:10 +00:00
|
|
|
always := $(hostprogs-y)
|
2013-06-13 22:10:02 +00:00
|
|
|
|
2017-05-27 13:38:19 +00:00
|
|
|
# Build a libfdt Python module if swig is available
|
|
|
|
# Use 'sudo apt-get install swig libpython-dev' to enable this
|
|
|
|
always += $(if $(shell which swig 2> /dev/null),_libfdt.so)
|
|
|
|
|
2009-03-13 23:54:35 +00:00
|
|
|
# Generated LCD/video logo
|
2014-02-04 08:24:24 +00:00
|
|
|
LOGO_H = $(objtree)/include/bmp_logo.h
|
|
|
|
LOGO_DATA_H = $(objtree)/include/bmp_logo_data.h
|
2009-03-13 23:54:35 +00:00
|
|
|
LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_H)
|
2011-10-20 23:04:20 +00:00
|
|
|
LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_DATA_H)
|
2009-03-13 23:54:35 +00:00
|
|
|
LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_H)
|
2011-10-20 23:04:20 +00:00
|
|
|
LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_DATA_H)
|
2009-03-13 23:54:34 +00:00
|
|
|
|
2013-05-27 12:18:43 +00:00
|
|
|
# Generic logo
|
2009-03-13 23:54:34 +00:00
|
|
|
ifeq ($(LOGO_BMP),)
|
2014-02-04 08:24:24 +00:00
|
|
|
LOGO_BMP= $(srctree)/$(src)/logos/denx.bmp
|
2013-05-27 12:18:43 +00:00
|
|
|
|
|
|
|
# Use board logo and fallback to vendor
|
2014-03-03 09:40:56 +00:00
|
|
|
ifneq ($(wildcard $(srctree)/$(src)/logos/$(BOARD).bmp),)
|
2014-02-04 08:24:24 +00:00
|
|
|
LOGO_BMP= $(srctree)/$(src)/logos/$(BOARD).bmp
|
2013-05-27 12:18:43 +00:00
|
|
|
else
|
2014-03-03 09:40:56 +00:00
|
|
|
ifneq ($(wildcard $(srctree)/$(src)/logos/$(VENDOR).bmp),)
|
2014-02-04 08:24:24 +00:00
|
|
|
LOGO_BMP= $(srctree)/$(src)/logos/$(VENDOR).bmp
|
2009-03-13 23:54:34 +00:00
|
|
|
endif
|
2011-07-16 10:26:50 +00:00
|
|
|
endif
|
2009-03-13 23:54:34 +00:00
|
|
|
|
2013-05-27 12:18:43 +00:00
|
|
|
endif # !LOGO_BMP
|
|
|
|
|
2002-07-20 20:14:13 +00:00
|
|
|
#
|
|
|
|
# Use native tools and options
|
2009-03-13 23:54:51 +00:00
|
|
|
# Define __KERNEL_STRICT_NAMES to prevent typedef overlaps
|
2013-07-30 22:26:11 +00:00
|
|
|
# Define _GNU_SOURCE to obtain the getline prototype from stdio.h
|
2002-07-20 20:14:13 +00:00
|
|
|
#
|
2014-03-11 02:05:20 +00:00
|
|
|
HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \
|
kconfig: switch to Kconfig
This commit enables Kconfig.
Going forward, we use Kconfig for the board configuration.
mkconfig will never be used. Nor will include/config.mk be generated.
Kconfig must be adjusted for U-Boot because our situation is
a little more complicated than Linux Kernel.
We have to generate multiple boot images (Normal, SPL, TPL)
from one source tree.
Each image needs its own configuration input.
Usage:
Run "make <board>_defconfig" to do the board configuration.
It will create the .config file and additionally spl/.config, tpl/.config
if SPL, TPL is enabled, respectively.
You can use "make config", "make menuconfig" etc. to create
a new .config or modify the existing one.
Use "make spl/config", "make spl/menuconfig" etc. for spl/.config
and do likewise for tpl/.config file.
The generic syntax of configuration targets for SPL, TPL is:
<target_image>/<config_command>
Here, <target_image> is either 'spl' or 'tpl'
<config_command> is 'config', 'menuconfig', 'xconfig', etc.
When the configuration is done, run "make".
(Or "make <board>_defconfig all" will do the configuration and build
in one time.)
For futher information of how Kconfig works in U-Boot,
please read the comment block of scripts/multiconfig.py.
By the way, there is another item worth remarking here:
coexistence of Kconfig and board herder files.
Prior to Kconfig, we used C headers to define a set of configs.
We expect a very long term to migrate from C headers to Kconfig.
Two different infractructure must coexist in the interim.
In our former configuration scheme, include/autoconf.mk was generated
for use in makefiles.
It is still generated under include/, spl/include/, tpl/include/ directory
for the Normal, SPL, TPL image, respectively.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30 05:08:17 +00:00
|
|
|
$(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
|
2014-03-11 02:05:20 +00:00
|
|
|
-I$(srctree)/lib/libfdt \
|
|
|
|
-I$(srctree)/tools \
|
2010-10-07 19:51:12 +00:00
|
|
|
-DUSE_HOSTCC \
|
2013-07-30 22:26:11 +00:00
|
|
|
-D__KERNEL_STRICT_NAMES \
|
|
|
|
-D_GNU_SOURCE
|
2008-02-29 15:00:24 +00:00
|
|
|
|
2017-01-30 02:12:08 +00:00
|
|
|
__build: $(LOGO-y)
|
2002-07-20 20:14:13 +00:00
|
|
|
|
2014-02-04 08:24:24 +00:00
|
|
|
$(LOGO_H): $(obj)/bmp_logo $(LOGO_BMP)
|
|
|
|
$(obj)/bmp_logo --gen-info $(LOGO_BMP) > $@
|
2011-10-20 23:04:20 +00:00
|
|
|
|
2014-02-04 08:24:24 +00:00
|
|
|
$(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
|
|
|
|
$(obj)/bmp_logo --gen-data $(LOGO_BMP) > $@
|
2014-02-04 08:24:39 +00:00
|
|
|
|
|
|
|
# Let clean descend into subdirs
|
|
|
|
subdir- += env
|
2014-03-03 02:06:19 +00:00
|
|
|
|
|
|
|
ifneq ($(CROSS_BUILD_TOOLS),)
|
2017-03-13 08:43:16 +00:00
|
|
|
override HOSTCC = $(CC)
|
2014-03-03 02:06:19 +00:00
|
|
|
|
|
|
|
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
|