diff options
author | Ulf Samuelsson <ulf.samuelsson@atmel.com> | 2009-01-26 23:52:31 +0000 |
---|---|---|
committer | Ulf Samuelsson <ulf.samuelsson@atmel.com> | 2009-01-26 23:52:31 +0000 |
commit | 0dbf9dd7ab8e08e9081a1141f0122f0e2cdc6202 (patch) | |
tree | 098bb98a9d08b6ec633c00178556bdd9955ce8ae | |
parent | 78fa0d4eb4f8ce861664093cb62c1a11b22d90f6 (diff) |
Create a common BR2_COPYTO to prepare to replace
all the different COPYTOs spread out all over
Buildroot.
Generate COPY_FILE subroutine which can be used
to copy a file.
$(COPY_FILE , file, directory, filename)
This will copy to binary dir and to the selected
copy dir if set in new config (intended to replace
all old COPYTO configs)
This is overridden by BUILDROOT_COPYTO,
if set into the environment.
-rw-r--r-- | Config.in | 7 | ||||
-rw-r--r-- | docs/buildroot.html | 11 | ||||
-rw-r--r-- | target/Makefile.in | 50 | ||||
-rw-r--r-- | target/device/Atmel/DataFlashBoot/DataflashBoot.mk | 9 | ||||
-rw-r--r-- | target/device/Atmel/Makefile.in | 4 | ||||
-rw-r--r-- | target/device/Atmel/at91bootstrap/at91bootstrap.mk | 10 |
6 files changed, 82 insertions, 9 deletions
@@ -69,6 +69,13 @@ config BR2_DL_DIR The default is $(BASE_DIR)/dl +config BR2_COPYTO + string "Copy result to..." + default "" + help + Setting this variable will (eventually) override + any other copyto configurations in buildroot. + source "target/device/Config.in.mirrors" config BR2_STAGING_DIR diff --git a/docs/buildroot.html b/docs/buildroot.html index abd4d265a..b02ee3d6c 100644 --- a/docs/buildroot.html +++ b/docs/buildroot.html @@ -247,6 +247,7 @@ <li>HOSTCC</li> <li>UCLIBC_CONFIG_FILE=<path/to/.config></li> <li>BUSYBOX_CONFIG_FILE=<path/to/.config></li> + <li>BUILDROOT_COPYTO</li> <li>BUILDROOT_DL_DIR</li> <li>BUILDROOT_LOCAL</li> <li>BUILDROOT_USE_XWINDOWS</li> @@ -264,6 +265,16 @@ $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD </pre> + <p>If you want the result of your build to be copied to another directory + like /tftpboot for downloading to a board using tftp, then you + can use BUILDROOT_COPYTO to specify your location</p> + <p>Typically, this is set in your ~/.bashrc file + +<pre> +$ export BUILDROOT_COPYTO=/tftpboot +</pre> + + <h3><a name="helper_completion" id="helper_completion"></a> Using auto-completion</h3> diff --git a/target/Makefile.in b/target/Makefile.in index d5d761346..0831c8f03 100644 --- a/target/Makefile.in +++ b/target/Makefile.in @@ -3,6 +3,56 @@ BR2_PACKAGE_LINUX_FORMAT:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))) BR2_PACKAGE_LINUX_KCONFIG:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))) #")) + +# COPY_FILE absolute_path_to_file, target_directory, filename +ifneq ($(strip $(subst ",,$(BUILDROOT_COPYTO))),) # Use shell definition +#")) +define COPY_FILE + @echo "BUILDROOT_COPYTO: Copy to $(BUILDROOT_COPYTO)/$(strip $(3))" ; \ + mkdir -p $(BINARIES_DIR) || echo "Could not create $(BINARIES_DIR)" ; \ + if [ -w $(BINARIES_DIR) -o -w $(BINARIES_DIR) ] ; then \ + cp $(1) $(BINARIES_DIR)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi ; \ + mkdir -p $(BUILDROOT_COPYTO) || echo "Could not create $(BUILDROOT_COPYTO)" ; \ + if [ -d $(BUILDROOT_COPYTO) -o -w $(BUILDROOT_COPYTO) ] ; then \ + cp $(1) $(BUILDROOT_COPYTO)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi +endef +COPYTO=$(strip $(subst ",,$(BUILDROOT_COPYTO))) +else ifneq ($(strip $(subst ",,$(BR2_COPYTO))),) # Global override +#")) +define COPY_FILE + @echo "BR2_COPYTO: Copy to $(BR2_COPYTO)/$(strip $(3))" ; \ + mkdir -p $(BINARIES_DIR) || echo "Could not create $(BINARIES_DIR)" ; \ + if [ -w $(BINARIES_DIR) -o -w $(BINARIES_DIR) ] ; then \ + cp $(1) $(BINARIES_DIR)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi ; \ + if [ "$(strip $(subst ",,$(BR2_COPYTO)))X" != "X" ] ; then \ + mkdir -p $(BR2_COPYTO) || echo "Could not create $(BR2_COPYTO)" ; \ + if [ -d $(BR2_COPYTO) -o -w $(BR2_COPYTO) ] ; then \ + cp $(1) $(BR2_COPYTO)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi ; \ + fi +endef +#")) +COPYTO=$(strip $(subst ",,$(BR2_COPYTO))) +else # Package specific copyto, or empty +define COPY_FILE + @echo "Copy to $(2)/$(strip $(3))" ; \ + mkdir -p $(BINARIES_DIR) || echo "Could not create $(BINARIES_DIR)" ; \ + if [ -w $(BINARIES_DIR) -o -w $(BINARIES_DIR) ] ; then \ + cp $(1) $(BINARIES_DIR)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi ; \ + if [ "$(strip $(subst ",,$(2)))X" != "X" ] ; then \ + mkdir -p $(2) || echo "Could not create $(2)" ; \ + if [ -d $(2) -o -w $(2) ] ; then \ + cp $(1) $(2)/$(strip $(3)) || echo "Could not copy $(3)" ; \ + fi ; \ + fi +endef +#")) +endif + # make sure to put everything that is board-specific before the tarroot targets include target/generic/Makefile.in diff --git a/target/device/Atmel/DataFlashBoot/DataflashBoot.mk b/target/device/Atmel/DataFlashBoot/DataflashBoot.mk index c59e2bcfa..b3735bca9 100644 --- a/target/device/Atmel/DataFlashBoot/DataflashBoot.mk +++ b/target/device/Atmel/DataFlashBoot/DataflashBoot.mk @@ -7,7 +7,7 @@ DATAFLASHBOOT_VERSION:=1.05 DATAFLASHBOOT_NAME:=DataflashBoot-$(DATAFLASHBOOT_VERSION) ATMEL_MIRROR:=$(strip $(subst ",, $(BR2_ATMEL_MIRROR))) # ")) -DATAFLASHBOOT_SITE:=$(ATMEL_MIRROR)/Source +DATAFLASHBOOT_SITE:=$(ATMEL_MIRROR) DATAFLASHBOOT_SOURCE:=$(DATAFLASHBOOT_NAME).tar.bz2 DATAFLASHBOOT_DIR:=$(PROJECT_BUILD_DIR)/$(DATAFLASHBOOT_NAME) DATAFLASHBOOT_BINARY:=$(DATAFLASHBOOT_NAME).bin @@ -32,11 +32,8 @@ DataflashBoot-dirclean: rm -rf $(DATAFLASHBOOT_DIR) dataflash: $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) - mkdir -p $(BINARIES_DIR) - cp $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) $(BINARIES_DIR)/$(BOARD_NAME)-$(DATAFLASHBOOT_BINARY) -ifneq ($(TARGET_ATMEL_COPYTO),) - cp $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) $(TARGET_ATMEL_COPYTO)/$(BOARD_NAME)-$(DATAFLASHBOOT_BINARY) -endif + $(call COPY_FILE, $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY), $(TARGET_ATMEL_COPYTO), $(BOARD_NAME)-$(DATAFLASHBOOT_BINARY)) + ############################################################# # diff --git a/target/device/Atmel/Makefile.in b/target/device/Atmel/Makefile.in index b6ca1be1a..fd53e6ee9 100644 --- a/target/device/Atmel/Makefile.in +++ b/target/device/Atmel/Makefile.in @@ -13,7 +13,11 @@ TARGET_SKELETON:=$(ATMEL_TARGET)/target_skeleton TARGET_DEVICE_TABLE:=$(ATMEL_TARGET)/device_table.txt TARGET_SKELETON_LINKS:=$(ATMEL_TARGET)/skel.tar.gz +ifneq ($(COPYTO),) +TARGET_ATMEL_COPYTO:=$(strip $(subst ",, $(BR2_COPYTO))) +else TARGET_ATMEL_COPYTO:=$(strip $(subst ",, $(BR2_TARGET_ATMEL_COPYTO))) +endif # These are set by Config.in DOWNLOAD_LINUX26_VERSION:= $(strip $(subst ",, $(BR2_DOWNLOAD_LINUX26_VERSION))) diff --git a/target/device/Atmel/at91bootstrap/at91bootstrap.mk b/target/device/Atmel/at91bootstrap/at91bootstrap.mk index 059d6a134..2b41e8212 100644 --- a/target/device/Atmel/at91bootstrap/at91bootstrap.mk +++ b/target/device/Atmel/at91bootstrap/at91bootstrap.mk @@ -71,13 +71,17 @@ $(AT91BOOTSTRAP_DIR)/.installed:: $(AT91BOOTSTRAP_TARGET) mkdir -p $(BINARIES_DIR) ifeq ($(AT91BOOTSTRAP_VERSION),2.3) cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY) - cp $(AT91BOOTSTRAP_TARGET) $(BR2_TARGET_ATMEL_COPYTO)/$(AT91BOOTSTRAP_BINARY) + $(call COPY_FILE, $(AT91BOOTSTRAP_TARGET), $(BR2_TARGET_ATMEL_COPYTO), $(AT91BOOTSTRAP_BINARY)) else make MEMORY=$(AT91BOOTSTRAP_MEMORY) \ CROSS_COMPILE=$(TARGET_CROSS) \ -C $(AT91BOOTSTRAP_DIR) boot - make DESTDIR=$(BINARIES_DIR) -C $(AT91BOOTSTRAP_DIR) install - make DESTDIR=$(BR2_TARGET_ATMEL_COPYTO) -C $(AT91BOOTSTRAP_DIR) install + make DESTDIR=$(BINARIES_DIR) -C $(AT91BOOTSTRAP_DIR) install || ± + echo "Could not copy bootstrap to BINARIES_DIR" +ifneq ($(BR2_TARGET_ATMEL_COPYTO),) + make DESTDIR=$(BR2_TARGET_ATMEL_COPYTO) -C $(AT91BOOTSTRAP_DIR) install || \ + echo "Could not copy bootstrap to BR2_ATMEL_COPYTO" +endif endif touch $@ |