[Buildroot] BSP Patch Resend (forgotten?)

Ulf Samuelsson ulf at atmel.com
Sun Mar 11 23:08:55 UTC 2007


Author:    Ulf Samuelsson
Date:    2007-02-08

Log:
    Here is my suggestion for supporting different BSP's
    in the same buildroot structure
    Updated according to suggestions.
    BR2_BOARDNAME cannot be empty,since it is used to define directory
names.
    I don't think it should be defined by the targtets, since you may
want to build
    several different boards, using the same target

    Add BINARIES_DIR directory,
    where resulting binaries can be stored
    Typically this directory contains a subdirectory for each BSP.

    Add TARGET_BUILD_DIR directory, where BSP for different
    boards can be built without destroying results of previous builds.
    Typically each BSP would build in a subdirectory of TARGET_BUILD_DIR


Modified:
    Config.in
    Makefile
    package/Makefile.in

Changeset
    Config.in
    Makefile
    package/Makefile.in

diff -purN buildroot-0rig/Config.in buildroot-atmel/Config.in
--- buildroot-0rig/Config.in    2007-02-08 22:17:40.000000000 +0100
+++ buildroot-atmel/Config.in    2007-02-08 22:35:48.000000000 +0100
@@ -6,6 +6,21 @@ config BR2_HAVE_DOT_CONFIG
     bool
     default y

+menu "Board"
+
+config BR2_BOARDNAME
+    string "Boardname"
+    default "uclibc"
+    help
+      The boardname is used to define subdirectories
+      * where the Board Support Packages are built
+        (Linux,Root fs Bootmonitor,Utilities etc.)
+      * where the resulting binaries are stored.
+      Older target may still build in the build_<arch>
+      and store binaries in the top directory.
+
+endmenu
+
 choice
     prompt "Target Architecture"
     default BR2_i386
diff -purN buildroot-0rig/Makefile buildroot-atmel/Makefile
--- buildroot-0rig/Makefile    2007-02-08 22:17:40.000000000 +0100
+++ buildroot-atmel/Makefile    2007-02-08 22:29:14.000000000 +0100
@@ -79,12 +79,15 @@ TARGETS_CLEAN:=$(patsubst %,%-clean,$(TA
 TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
 TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))

-world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
+world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
+    $(TARGET_BUILD_DIR) $(BINARIES_DIR) $(TARGETS)
+
 dirs: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR)

 .PHONY: all world dirs clean dirclean distclean source $(TARGETS) \
     $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
-    $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
+    $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) \
+    $(TARGET_BUILD_DIR) $(BINARIES_DIR)

 #############################################################
 #
@@ -92,7 +95,8 @@ dirs: $(DL_DIR) $(BUILD_DIR) $(STAGING_D
 # dependencies anywhere else
 #
 #############################################################
-$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR):
+$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) \
+$(TARGET_BUILD_DIR) $(BINARIES_DIR):
     @mkdir -p $@

 $(STAGING_DIR):
diff -purN buildroot-0rig/package/Makefile.in
buildroot-atmel/package/Makefile.in
--- buildroot-0rig/package/Makefile.in    2007-02-08 22:17:40.000000000
+0100
+++ buildroot-atmel/package/Makefile.in    2007-02-08 22:31:52.000000000
+0100
@@ -71,6 +71,8 @@ TOOLCHAIN_EXTERNAL_PREFIX:=$(strip $(sub
 TOOLCHAIN_EXTERNAL_PATH:=$(strip $(subst ",,
$(BR2_TOOLCHAIN_EXTERNAL_PATH)))
 #"))
 TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(TOOLCHAIN_EXTERNAL_PREFIX)
+TARGET_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)target_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(BR2_BOARDNAME)
+BINARIES_DIR:=$(BASE_DIR)/binaries/$(BR2_BOARDNAME)
 TARGET_PATH="$(STAGING_DIR)/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
 IMAGE:=$(BASE_DIR)/rootfs.$(TOOLCHAIN_EXTERNAL_PREFIX)
 REAL_GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)

-- Best Regards, Ulf Samuelsson

Any chance of having this patch reviewed again after fixing the previous
comments?


Author:	Ulf Samuelsson
Date:	2007-02-08

Log:
	Here is my suggestion for supporting different BSP's
	in the same buildroot structure
	Updated according to suggestions.
	BR2_BOARDNAME cannot be empty,since it is used to define directory names.
	It shoudl not be defined by the targtets, since you may want to build
	several different boards, using the same target

	Add BINARIES_DIR directory,
	where resulting binaries can be stored
	Typically this directory contains a subdirectory for each BSP.

	Add TARGET_BUILD_DIR directory, where BSP for different
	boards can be built without destroying results of previous builds.
	Typically each BSP would build in a subdirectory of TARGET_BUILD_DIR


Modified:
	Config.in
	Makefile
	package/Makefile.in

Changeset
	Config.in
	Makefile
	package/Makefile.in

diff -purN buildroot-0rig/Config.in buildroot-atmel/Config.in
--- buildroot-0rig/Config.in	2007-02-08 22:17:40.000000000 +0100
+++ buildroot-atmel/Config.in	2007-02-08 22:35:48.000000000 +0100
@@ -6,6 +6,21 @@ config BR2_HAVE_DOT_CONFIG
 	bool
 	default y

+menu "Board"
+
+config BR2_BOARDNAME
+	string "Boardname"
+	default "uclibc"
+	help
+	  The boardname is used to define subdirectories
+	  * where the Board Support Packages are built
+	    (Linux,Root fs Bootmonitor,Utilities etc.)
+	  * where the resulting binaries are stored.
+	  Older target may still build in the build_<arch>
+	  and store binaries in the top directory.
+
+endmenu
+
 choice
 	prompt "Target Architecture"
 	default BR2_i386
diff -purN buildroot-0rig/Makefile buildroot-atmel/Makefile
--- buildroot-0rig/Makefile	2007-02-08 22:17:40.000000000 +0100
+++ buildroot-atmel/Makefile	2007-02-08 22:29:14.000000000 +0100
@@ -79,12 +79,15 @@ TARGETS_CLEAN:=$(patsubst %,%-clean,$(TA
 TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
 TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))

-world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
+world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
+	$(TARGET_BUILD_DIR) $(BINARIES_DIR) $(TARGETS)
+
 dirs: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR)

 .PHONY: all world dirs clean dirclean distclean source $(TARGETS) \
 	$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
-	$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
+	$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) \
+	$(TARGET_BUILD_DIR) $(BINARIES_DIR)

 #############################################################
 #
@@ -92,7 +95,8 @@ dirs: $(DL_DIR) $(BUILD_DIR) $(STAGING_D
 # dependencies anywhere else
 #
 #############################################################
-$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR):
+$(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) \
+$(TARGET_BUILD_DIR) $(BINARIES_DIR):
 	@mkdir -p $@

 $(STAGING_DIR):
diff -purN buildroot-0rig/package/Makefile.in
buildroot-atmel/package/Makefile.in
--- buildroot-0rig/package/Makefile.in	2007-02-08 22:17:40.000000000 +0100
+++ buildroot-atmel/package/Makefile.in	2007-02-08 22:31:52.000000000 +0100
@@ -71,6 +71,8 @@ TOOLCHAIN_EXTERNAL_PREFIX:=$(strip $(sub
 TOOLCHAIN_EXTERNAL_PATH:=$(strip $(subst ",,
$(BR2_TOOLCHAIN_EXTERNAL_PATH)))
 #"))
 TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(TOOLCHAIN_EXTERNAL_PREFIX)
+TARGET_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)target_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(BR2_BOARDNAME)
+BINARIES_DIR:=$(BASE_DIR)/binaries/$(BR2_BOARDNAME)
 TARGET_PATH="$(STAGING_DIR)/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
 IMAGE:=$(BASE_DIR)/rootfs.$(TOOLCHAIN_EXTERNAL_PREFIX)
 REAL_GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)

-- 
Best Regards,
Ulf Samuelsson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ulf.vcf
Type: text/x-vcard
Size: 301 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20070312/bd27b444/attachment-0003.vcf>


More information about the buildroot mailing list