diff options
Diffstat (limited to 'target/u-boot')
-rw-r--r-- | target/u-boot/Config.in | 12 | ||||
-rw-r--r-- | target/u-boot/Makefile.in | 25 |
2 files changed, 35 insertions, 2 deletions
diff --git a/target/u-boot/Config.in b/target/u-boot/Config.in index 66ebaf50a..a01457a47 100644 --- a/target/u-boot/Config.in +++ b/target/u-boot/Config.in @@ -70,3 +70,15 @@ config BR2_TARGET_UBOOT_SILENT help If the option has been enabled, the output can be silenced by setting the environment variable "silent". + +config BR2_TARGET_UBOOT_TOOL_MKIMAGE + bool "mkimage tool in target" + depends on BR2_TARGET_UBOOT + help + Install mkimage tool in target. + +config BR2_TARGET_UBOOT_TOOL_ENV + bool "fw_printenv tool in target" + depends on BR2_TARGET_UBOOT + help + Install fw_printenv / fw_setenv tools in target. diff --git a/target/u-boot/Makefile.in b/target/u-boot/Makefile.in index 7b7bf1352..c6abe6ec2 100644 --- a/target/u-boot/Makefile.in +++ b/target/u-boot/Makefile.in @@ -20,6 +20,15 @@ else U_BOOT_INC_CONF_FILE:=$(U_BOOT_DIR)/include/config.h endif +U_BOOT_TARGET_TOOLS:= +ifeq ($(strip $(BR2_TARGET_UBOOT_TOOL_MKIMAGE)),y) +U_BOOT_TARGET_TOOLS+=$(TARGET_DIR)/usr/bin/mkimage +endif +ifeq ($(strip $(BR2_TARGET_UBOOT_TOOL_ENV)),y) +U_BOOT_TARGET_TOOLS+=$(TARGET_DIR)/usr/sbin/fw_printenv +endif + + # Define a helper function define insert_define @echo "#ifdef $(strip $(1))" >> $(U_BOOT_INC_CONF_FILE) @@ -113,11 +122,23 @@ $(BINARIES_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/$(U_BOOT_BIN) cp -dpf $(U_BOOT_DIR)/$(U_BOOT_BIN) $(BINARIES_DIR) cp -dpf $(U_BOOT_DIR)/tools/$(U_BOOT_TOOLS_BIN) $(STAGING_DIR)/usr/bin/ -u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN) +$(TARGET_DIR)/usr/bin/mkimage: $(U_BOOT_DIR)/$(U_BOOT_BIN) + $(TARGET_CC) -I$(U_BOOT_DIR)/include -DUSE_HOSTCC -o $@ \ + $(U_BOOT_DIR)/tools/mkimage.c $(U_BOOT_DIR)/tools/crc32.c + $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@ + +$(TARGET_DIR)/usr/sbin/fw_printenv: $(U_BOOT_DIR)/$(U_BOOT_BIN) + $(TARGET_CC) -I$(U_BOOT_DIR)/include -I$(LINUX_HEADERS_DIR)/include \ + -DUSE_HOSTCC -o $@ \ + $(U_BOOT_DIR)/tools/env/*.c $(U_BOOT_DIR)/tools/crc32.c + $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@ + ln -s fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv + +u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN) $(U_BOOT_TARGET_TOOLS) u-boot-clean: -$(MAKE) -C $(U_BOOT_DIR) clean - rm -f $(STAGING_DIR)/usr/bin/$(U_BOOT_TOOLS_BIN) + rm -f $(STAGING_DIR)/usr/bin/$(U_BOOT_TOOLS_BIN) $(U_BOOT_TARGET_TOOLS) u-boot-dirclean: rm -rf $(U_BOOT_DIR) |