1 ################################################################################
5 ################################################################################
7 UBOOT_TOOLS_VERSION = 2017.09
8 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2
9 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot
10 UBOOT_TOOLS_LICENSE = GPL-2.0+
11 UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt
12 UBOOT_TOOLS_INSTALL_STAGING = YES
14 define UBOOT_TOOLS_CONFIGURE_CMDS
15 mkdir -p $(@D)/include/config
16 touch $(@D)/include/config/auto.conf
19 UBOOT_TOOLS_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \
20 CFLAGS="$(TARGET_CFLAGS)" \
21 LDFLAGS="$(TARGET_LDFLAGS)" \
24 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT),y)
25 UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y
26 UBOOT_TOOLS_DEPENDENCIES += dtc
29 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT),y)
30 UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT_SIGNATURE=y
31 UBOOT_TOOLS_DEPENDENCIES += openssl host-pkgconf
34 define UBOOT_TOOLS_BUILD_CMDS
35 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \
36 CROSS_BUILD_TOOLS=y tools-only
37 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \
38 envtools no-dot-config-targets=envtools
41 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE),y)
42 define UBOOT_TOOLS_INSTALL_MKIMAGE
43 $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(TARGET_DIR)/usr/bin/mkimage
47 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE),y)
48 define UBOOT_TOOLS_INSTALL_MKENVIMAGE
49 $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(TARGET_DIR)/usr/bin/mkenvimage
53 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV),y)
54 define UBOOT_TOOLS_INSTALL_FWPRINTENV
55 $(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin/fw_printenv
56 ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
60 ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_DUMPIMAGE),y)
61 define UBOOT_TOOLS_INSTALL_DUMPIMAGE
62 $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(TARGET_DIR)/usr/sbin/dumpimage
66 define UBOOT_TOOLS_INSTALL_STAGING_CMDS
67 $(INSTALL) -D -m 0755 $(@D)/tools/env/lib.a $(STAGING_DIR)/usr/lib/libubootenv.a
68 $(INSTALL) -D -m 0644 $(@D)/tools/env/fw_env.h $(STAGING_DIR)/usr/include/fw_env.h
71 define UBOOT_TOOLS_INSTALL_TARGET_CMDS
72 $(UBOOT_TOOLS_INSTALL_MKIMAGE)
73 $(UBOOT_TOOLS_INSTALL_MKENVIMAGE)
74 $(UBOOT_TOOLS_INSTALL_FWPRINTENV)
75 $(UBOOT_TOOLS_INSTALL_DUMPIMAGE)
78 define HOST_UBOOT_TOOLS_CONFIGURE_CMDS
79 mkdir -p $(@D)/include/config
80 touch $(@D)/include/config/auto.conf
83 HOST_UBOOT_TOOLS_MAKE_OPTS = HOSTCC="$(HOSTCC)" \
84 HOSTCFLAGS="$(HOST_CFLAGS)" \
85 HOSTLDFLAGS="$(HOST_LDFLAGS)"
87 ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT),y)
88 HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y
89 HOST_UBOOT_TOOLS_DEPENDENCIES += host-dtc
92 ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT),y)
93 HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT_SIGNATURE=y
94 HOST_UBOOT_TOOLS_DEPENDENCIES += host-openssl
97 define HOST_UBOOT_TOOLS_BUILD_CMDS
98 $(MAKE1) -C $(@D) $(HOST_UBOOT_TOOLS_MAKE_OPTS) tools-only
101 define HOST_UBOOT_TOOLS_INSTALL_CMDS
102 $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/bin/mkimage
103 $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/bin/mkenvimage
104 $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/bin/dumpimage
107 $(eval $(generic-package))
108 $(eval $(host-generic-package))
110 # Convenience variables for other mk files that make use of mkimage
112 MKIMAGE = $(HOST_DIR)/bin/mkimage
114 # mkimage supports arm blackfin m68k microblaze mips mips64 nios2 powerpc ppc sh sparc sparc64 x86
115 # KERNEL_ARCH can be arm64 arc arm blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa
116 # For arm64, arc, xtensa we'll just keep KERNEL_ARCH
117 # For mips64, we'll just keep mips
118 # For i386 and x86_64, we need to convert
119 ifeq ($(KERNEL_ARCH),x86_64)
121 else ifeq ($(KERNEL_ARCH),i386)
124 MKIMAGE_ARCH = $(KERNEL_ARCH)