public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Tony Breeds <tony@bakeyournoodle•com>
To: Benjamin Herrenschmidt <benh@kernel•crashing.org>,
	LinuxPPC-dev <linuxppc-dev@lists•ozlabs.org>,
	Josh Boyer <jwboyer@gmail•com>
Cc: "Frank Svendsbøe" <frank.svendsboe@gmail•com>,
	"Wolfgang Denk" <wd@denx•de>,
	robert.karl.berger@gmail•com
Subject: Re: [PATCH v2] powerpc/boot: Only build board support files when required.
Date: Wed, 4 Apr 2012 11:00:39 +1000	[thread overview]
Message-ID: <20120404010038.GA392@thor.bakeyournoodle.com> (raw)
In-Reply-To: <20120403005558.GA9194@thor.bakeyournoodle.com>

[-- Attachment #1: Type: text/plain, Size: 5113 bytes --]

Currently we build all board files regardless of the final zImage
target.  This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.

Use the Kconfig variables to selectively construct this board files to
build.

Signed-off-by: Tony Breeds <tony@bakeyournoodle•com>
---
 arch/powerpc/boot/Makefile |   56 +++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 19 deletions(-)

Changes since v1:
 - I missed a dependancy for ep8248e.c on planetcore.c, this caused the
   6xx_defconfig to fail.
 - Use the sorted and de-duplicated src-wlib and src-plat to setup
   src-boot
 - Built:
	40x/ep405_defconfig		44x/arches_defconfig
	44x/bamboo_defconfig		44x/bluestone_defconfig
	44x/canyonlands_defconfig	44x/currituck_defconfig
	44x/ebony_defconfig		44x/eiger_defconfig
	44x/icon_defconfig		44x/iss476-smp_defconfig
	44x/katmai_defconfig		44x/rainier_defconfig
	44x/redwood_defconfig		44x/sam440ep_defconfig
	44x/sequoia_defconfig		44x/taishan_defconfig
	44x/virtex5_defconfig		44x/warp_defconfig
	86xx/sbc8641d_defconfig		cell_defconfig
	celleb_defconfig		chrp32_defconfig
	g5_defconfig			maple_defconfig
	mpc7448_hpc2_defconfig		mpc83xx_defconfig
	mpc85xx_defconfig		mpc86xx_defconfig
	mpc885_ads_defconfig		pasemi_defconfig
	pmac32_defconfig		powerpc-allmodconfig
	powerpc-allnoconfig		ppc40x_defconfig
	ppc44x_defconfig		ppc64_defconfig
	ppc6xx_defconfig		ps3_defconfig
    Without problems.

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index e8461cb..c802a90 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -62,26 +62,45 @@ libfdtheader := fdt.h libfdt.h libfdt_internal.h
 $(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o): \
 	$(addprefix $(obj)/,$(libfdtheader))
 
-src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
+src-wlib-y := string.S crt0.S crtsavres.S stdio.c main.c \
 		$(libfdt) libfdt-wrapper.c \
 		ns16550.c serial.c simple_alloc.c div64.S util.S \
-		gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
-		4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \
-		cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \
-		fsl-soc.c mpc8xx.c pq2.c ugecon.c
-src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \
-		cuboot-ebony.c cuboot-hotfoot.c epapr.c treeboot-ebony.c \
-		prpmc2800.c \
-		ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
-		cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
-		cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
-		fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \
-		cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
-		cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
-		virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
-		cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
-		gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c \
-		treeboot-currituck.c
+		gunzip_util.c elf_util.c $(zlib) devtree.c stdlib.c \
+		oflib.c ofconsole.c cuboot.c mpsc.c cpm-serial.c \
+		uartlite.c mpc52xx-psc.c
+src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
+src-wlib-$(CONFIG_44x) += 4xx.c ebony.c bamboo.c
+src-wlib-$(CONFIG_8xx) += mpc8xx.c planetcore.c
+src-wlib-$(CONFIG_PPC_82xx) += pq2.c fsl-soc.c planetcore.c
+src-wlib-$(CONFIG_EMBEDDED6xx) += mv64x60.c mv64x60_i2c.c ugecon.c
+
+src-plat-y := of.c
+src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c \
+				treeboot-walnut.c cuboot-acadia.c \
+				cuboot-kilauea.c simpleboot.c \
+				virtex405-head.S virtex.c
+src-plat-$(CONFIG_44x) += treeboot-ebony.c cuboot-ebony.c treeboot-bamboo.c \
+				cuboot-bamboo.c cuboot-sam440ep.c \
+				cuboot-sequoia.c cuboot-rainier.c \
+				cuboot-taishan.c cuboot-katmai.c \
+				cuboot-warp.c cuboot-yosemite.c \
+				treeboot-iss4xx.c treeboot-currituck.c \
+				simpleboot.c fixed-head.S virtex.c
+src-plat-$(CONFIG_8xx) += cuboot-8xx.c fixed-head.S ep88xc.c redboot-8xx.c
+src-plat-$(CONFIG_PPC_MPC52xx) += cuboot-52xx.c
+src-plat-$(CONFIG_PPC_82xx) += cuboot-pq2.c fixed-head.S ep8248e.c cuboot-824x.c
+src-plat-$(CONFIG_PPC_83xx) += cuboot-83xx.c fixed-head.S redboot-83xx.c
+src-plat-$(CONFIG_FSL_SOC_BOOKE) += cuboot-85xx.c cuboot-85xx-cpm2.c
+src-plat-$(CONFIG_EMBEDDED6xx) += cuboot-pq2.c cuboot-mpc7448hpc2.c \
+					cuboot-c2k.c gamecube-head.S \
+					gamecube.c wii-head.S wii.c holly.c \
+					prpmc2800.c
+src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c
+src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c
+src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c
+
+src-wlib := $(sort $(src-wlib-y))
+src-plat := $(sort $(src-plat-y))
 src-boot := $(src-wlib) $(src-plat) empty.c
 
 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -412,4 +431,3 @@ $(wrapper-installed): $(DESTDIR)$(WRAPPER_BINDIR) $(srctree)/$(obj)/wrapper | $(
 	$(call cmd,install_wrapper)
 
 $(obj)/bootwrapper_install: $(all-installed)
-
-- 
1.7.7.6

Yours Tony

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2012-04-04  1:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-03  0:55 [PATCH] powerpc/boot: Only build board support files when required Tony Breeds
2012-04-03  1:00 ` David Gibson
2012-04-03  1:26   ` Benjamin Herrenschmidt
2012-04-03  1:31   ` Tony Breeds
2012-04-03  1:41 ` Stephen Rothwell
2012-04-03  1:55   ` Tony Breeds
2012-04-03  1:57     ` Stephen Rothwell
2012-04-04  1:00 ` Tony Breeds [this message]
2012-04-05  3:44 ` Geoff Levand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120404010038.GA392@thor.bakeyournoodle.com \
    --to=tony@bakeyournoodle$(echo .)com \
    --cc=benh@kernel$(echo .)crashing.org \
    --cc=frank.svendsboe@gmail$(echo .)com \
    --cc=jwboyer@gmail$(echo .)com \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=robert.karl.berger@gmail$(echo .)com \
    --cc=wd@denx$(echo .)de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox