makefiles: improve build order
authorZachary T Welch <zw@superlucidity.net>
Tue, 10 Nov 2009 12:27:02 +0000 (04:27 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 11 Nov 2009 13:40:48 +0000 (05:40 -0800)
Separates various groups of files to be built in logical succession.
In each layer, the core module (target.c, nand.c, etc.) is built _after_
their helper modules (e.g. image.c, nand_ecc.c) but _before_ any of
their drivers (e.g. arm966e.c, mx3_nand.c).

This allows problems introduced at the bottom of the stack to result
in build failures as soon as possible, as the helpers and core should
wrap portions of them.

src/flash/Makefile.am
src/target/Makefile.am

index d448197..e122451 100644 (file)
@@ -6,65 +6,78 @@ AM_CPPFLAGS = \
 METASOURCES = AUTO
 noinst_LTLIBRARIES = libflash.la
 libflash_la_SOURCES = \
-       arm_nandio.c \
-       flash.c \
-       lpc2000.c \
-       lpc288x.c \
-       lpc2900.c \
+       $(FLASH_SRCS) \
+       $(NAND_SRCS) \
+       mflash.c
+
+FLASH_SRCS = \
        cfi.c \
        non_cfi.c \
-       at91sam7.c \
+       faux.c \
+       $(FLASH_DEVICES_SRCS) \
+       flash.c
+
+FLASH_DEVICES_SRCS = \
+       aduc702x.c \
        at91sam3.c \
-       davinci_nand.c \
+       at91sam7.c \
+       avrf.c \
+       ecos.c \
+       lpc2000.c \
+       lpc288x.c \
+       lpc2900.c \
+       ocl.c \
+       pic32mx.c \
+       stellaris.c \
+       stm32x.c \
        str7x.c \
        str9x.c \
-       aduc702x.c \
-       nand.c \
+       str9xpec.c \
+       tms470.c
+
+NAND_SRCS = \
+       arm_nandio.c \
        nand_ecc.c \
        nand_ecc_kw.c \
+       $(NAND_DEVICES_SRCS) \
+       nand.c
+
+NAND_DEVICES_SRCS = \
+       davinci_nand.c \
        lpc3180_nand_controller.c \
-       stellaris.c \
-       str9xpec.c \
-       stm32x.c \
-       tms470.c \
-       ecos.c \
+       mx3_nand.c \
        orion_nand.c \
        s3c24xx_nand.c \
        s3c2410_nand.c \
        s3c2412_nand.c \
        s3c2440_nand.c \
-       s3c2443_nand.c \
-       ocl.c \
-       mflash.c \
-       pic32mx.c \
-       avrf.c \
-       faux.c \
-       mx3_nand.c
+       s3c2443_nand.c
+
 
 noinst_HEADERS = \
        arm_nandio.h \
+       at91sam7.h \
+       at91sam3.h \
+       avrf.h \
+       cfi.h \
        flash.h \
        lpc2000.h \
        lpc288x.h \
        lpc2900.h \
-       cfi.h \
+       lpc3180_nand_controller.h \
+       mflash.h \
+       mx3_nand.h \
        non_cfi.h \
-       at91sam7.h \
-       at91sam3.h \
-       str7x.h \
-       str9x.h \
        nand.h \
-       lpc3180_nand_controller.h \
+       ocl.h \
+       pic32mx.h \
        stellaris.h \
-       str9xpec.h \
        stm32x.h \
+       str7x.h \
+       str9x.h \
+       str9xpec.h \
        tms470.h \
        s3c24xx_nand.h \
-       s3c24xx_regs_nand.h \
-       mflash.h \
-       ocl.h \
-       pic32mx.h \
-       avrf.h \
-       mx3_nand.h
+       s3c24xx_regs_nand.h
 
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
index f62ba1d..9dd0bdc 100644 (file)
@@ -25,90 +25,115 @@ $(DEBUG_HEADER): $(BIN2C) $(DEBUG_HANDLER)
 METASOURCES = AUTO
 noinst_LTLIBRARIES = libtarget.la
 libtarget_la_SOURCES = \
-       target.c \
+       $(TARGET_CORE_SRC) \
+       $(ARM_DEBUG_SRC) \
+       $(ARMV4_5_SRC) \
+       $(ARMV6_SRC) \
+       $(ARMV7_SRC) \
+       $(ARM_MISC_SRC) \
+       $(MIPS32_SRC) \
+       avrt.c
+
+TARGET_CORE_SRC = \
+       algorithm.c \
        register.c \
+       image.c \
        breakpoints.c \
+       target.c \
+       target_request.c
+
+ARMV4_5_SRC = \
        armv4_5.c \
-       embeddedice.c \
-       etm.c \
+       armv4_5_mmu.c \
+       armv4_5_cache.c \
+       $(ARM7_9_SRC)
+
+ARM7_9_SRC = \
+       arm7_9_common.c \
        arm7tdmi.c \
+       arm720t.c \
        arm9tdmi.c \
-       arm_jtag.c \
-       arm7_9_common.c \
-       algorithm.c \
        arm920t.c \
-       arm720t.c \
-       armv4_5_mmu.c \
-       armv4_5_cache.c \
-       arm_disassembler.c \
        arm966e.c \
-       arm926ejs.c \
+       arm926ejs.c
+
+ARM_MISC_SRC = \
        fa526.c \
        feroceon.c \
-       etb.c \
-       xscale.c \
-       arm_simulator.c \
-       image.c \
+       xscale.c
+
+ARMV6_SRC = \
+       arm11.c \
+       arm11_dbgtap.c
+
+ARMV7_SRC = \
        armv7m.c \
-       armv7a.c \
        cortex_m3.c \
-       cortex_a8.c \
+       armv7a.c \
+       cortex_a8.c
+
+ARM_DEBUG_SRC = \
+       arm_jtag.c \
+       arm_disassembler.c \
+       arm_simulator.c \
        arm_adi_v5.c \
-       etm_dummy.c \
-       $(OOCD_TRACE_FILES) \
-       target_request.c \
+       embeddedice.c \
        trace.c \
-       arm11.c \
-       arm11_dbgtap.c \
+       etb.c \
+       etm.c \
+       $(OOCD_TRACE_FILES) \
+       etm_dummy.c
+
+MIPS32_SRC = \
        mips32.c \
        mips_m4k.c \
        mips32_pracc.c \
        mips32_dmaacc.c \
-       mips_ejtag.c \
-       avrt.c
+       mips_ejtag.c
+
 
 noinst_HEADERS = \
-       target.h \
-       target_type.h \
-       trace.h \
-       register.h \
-       armv4_5.h \
-       embeddedice.h \
-       etm.h \
-       arm7tdmi.h \
-       arm9tdmi.h \
+       algorithm.h \
        arm_jtag.h \
+       arm_adi_v5.h \
+       arm_disassembler.h \
+       arm_simulator.h \
        arm7_9_common.h \
-       arm920t.h \
+       arm7tdmi.h \
        arm720t.h \
+       arm9tdmi.h \
+       arm920t.h \
+       arm926ejs.h \
+       arm966e.h \
+       arm11.h \
+       armv4_5.h \
        armv4_5_mmu.h \
        armv4_5_cache.h \
-       breakpoints.h \
-       algorithm.h \
-       arm_disassembler.h \
-       arm966e.h \
-       arm926ejs.h \
-       etb.h \
-       xscale.h \
-       xscale_debug.h \
-       arm_simulator.h \
-       image.h \
-       armv7m.h \
        armv7a.h \
+       armv7m.h \
+       avrt.h \
+       breakpoints.h \
        cortex_m3.h \
        cortex_a8.h \
-       arm_adi_v5.h \
+       embeddedice.h \
+       etb.h \
+       etm.h \
        etm_dummy.h \
-       oocd_trace.h \
-       target_request.h \
-       trace.h \
-       arm11.h \
+       image.h \
        mips32.h \
        mips_m4k.h \
        mips_ejtag.h \
        mips32_pracc.h \
        mips32_dmaacc.h \
-       avrt.h
+       oocd_trace.h \
+       register.h \
+       target.h \
+       target_type.h \
+       trace.h \
+       target_request.h \
+       trace.h \
+       xscale.h \
+       xscale_debug.h
 
 nobase_dist_pkglib_DATA =
 nobase_dist_pkglib_DATA += ecos/at91eb40a.elf