u-boot: tools in target (mkimage, fw_printenv and fw_setenv)
authorPeter Korsgaard <jacmet@sunsite.dk>
Wed, 23 Apr 2008 13:03:53 +0000 (13:03 -0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Wed, 23 Apr 2008 13:03:53 +0000 (13:03 -0000)
target/u-boot/Config.in
target/u-boot/Makefile.in

index 66ebaf50a53ca6db1e34d43856c65129348ac067..a01457a47b3b87db6650b6be7e23e4da75112785 100644 (file)
@@ -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.
index 7b7bf13524ee743a1a978997d60873efa9ecc0b4..c6abe6ec2629fedead0381a2a3c996b9f4044760 100644 (file)
@@ -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)