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 <t...@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: pgpJEeLZWIIi4.pgp
Description: PGP signature

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to