]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/ibl.git/blob - src/make/Makefile
Makefile cleanup
[keystone-rtos/ibl.git] / src / make / Makefile
1 #*
2 #*
3 #* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ 
4 #* 
5 #* 
6 #*  Redistribution and use in source and binary forms, with or without 
7 #*  modification, are permitted provided that the following conditions 
8 #*  are met:
9 #*
10 #*    Redistributions of source code must retain the above copyright 
11 #*    notice, this list of conditions and the following disclaimer.
12 #*
13 #*    Redistributions in binary form must reproduce the above copyright
14 #*    notice, this list of conditions and the following disclaimer in the 
15 #*    documentation and/or other materials provided with the   
16 #*    distribution.
17 #*
18 #*    Neither the name of Texas Instruments Incorporated nor the names of
19 #*    its contributors may be used to endorse or promote products derived
20 #*    from this software without specific prior written permission.
21 #*
22 #*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
23 #*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
24 #*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 #*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
26 #*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
27 #*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
28 #*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 #*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 #*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
31 #*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
32 #*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 #*
36 #*******************************************************************************************
37 #* FILE PURPOSE: Top level make for the IBL
38 #*******************************************************************************************
39 #* FILE NAME: Makefile
40 #*
41 #* DESCRIPTION: Builds the Intermediate Boot Loader (IBL)
42 #*
43 #*  Usage:  make c6455 | c6472 | c6474 | c6457 | c661x 
44 #*          [DEBUG=yes]                                                 /* Compiles for debug */
45 #*          [ETH=no]                                                    /* Disables ethernet support */
46 #*          [BIS=no]                                                    /* Disables BIS interpreter */
47 #*          [COFF=no]                                                   /* Disables COFF interpreter */
48 #*          [BLOB=no]                                                   /* Disables BLOB interpreter */
49 #*          [ELF=no]                                                    /* Disables ELF interpreter */
50 #*          [NAND=no]                                                   /* Disables NAND support through EMIF/SPI/GPIO */
51 #*          [NAND_SPI=no]                                               /* Disables NAND support through SPI */
52 #*                      [NAND_EMIF=no]                                          /* Disables NAND support through EMIF */
53 #*                      [NAND_GPIO=no]                                          /* Disables NAND support through GPIO */
54 #*                      [NOR=no]                                                        /* Disables NOR through EMIF/SPI */
55 #*                      [NOR_SPI=no]                                            /* Disables NOR support through SPI */
56 #*          [NOR_EMIF=no]                                               /* Disables NOR support through EMIF */
57 #*                      [SPI=no]                                                        /* Disables SPI */
58 #*                      [I2C=no]                                                        /* Disables I2C */
59 #*                      [EMIF=no]                                                       /* Disables EMIF */
60 #*                      [SPI_MODE=<0,1,2,3>]                            /* Selects the SPI operating mode */
61 #*                      [SPI_ADDR_WIDTH=<16,24>]                        /* Selects the SPI address width */
62 #*                      [SPI_NPIN=<4,5>]                                        /* Selects the number of pins on the interface */
63 #*                      [SPI_CSEL=<1,2>]                                        /* Sets the SPI CSEL value in 5 pin mode */
64 #*                      [SPI_C2TDEL=x]                                          /* Sets the SPI C to T delay value */
65 #*                      [SPI_CLKDIV=x]                                          /* Sets the SPI module clock divider */
66 #*                      [SPI_USE_ROM=yes]                                       /* Uses SPI interface parameters from boot ROM, if available */
67 #*          [ENDIAN= both | big | little]               /* Selects the endian of the build */
68 #*          [I2C_BUS_ADDR= 0x50 | 0x51]                 /* The initial I2C bus address */
69 #*          [COMPACT_I2C=yes]                                   /* Mimimizes the size of the I2C */
70 #*          [I2C_MAP_ADDR= 0x500 | 0x800]               /* The IBL configuration parameter offset */
71 #*                      
72 #*
73 #* or to make a board specific configuraiton
74 #*
75 #*                      make evm_c6455 | evm_c6472 | evm_c6474 | evm_c6457 | evm_c661x
76 #*
77 #* or to test the builds by making all the devices and testing excludes
78 #*
79 #*                      make test_build
80 #*******************************************************************************************
82 IBLS_C6X= c6455 c6472 c6474 c6457 c661x
83 EVMS_C6X= evm_c6455 evm_c6472 evm_c6474
86 # Excluding functions from the build reduces the I2C eeprom memory used and
87 # speeds the initial boot time. Note that boot table cannot be excluded
88 # because it is required for the two stage I2C load process
90 CEXCLUDES=
92 ifeq ($(ETH),no)
93  CEXCLUDES+= ETH
94 endif
96 ifeq ($(BIS),no)
97  CEXCLUDES+= BIS
98 endif
100 ifeq ($(COFF),no)
101  CEXCLUDES+= COFF
102 endif
104 ifeq ($(BLOB),no)
105  CEXCLUDES+= BLOB
106 endif
108 ifeq ($(ELF),no)
109  CEXCLUDES+= ELF
110 endif
112 ifeq ($(NAND),no)
113  CEXCLUDES+= NAND_SPI
114  CEXCLUDES+= NAND_EMIF
115  CEXCLUDES+= NAND_GPIO
117 else
119  ifeq ($(NAND_SPI),no)
120   CEXCLUDES+= NAND_SPI
121  endif
123  ifeq ($(NAND_EMIF),no)
124   CEXCLUDES+= NAND_EMIF
125  endif
127  ifeq ($(NAND_GPIO),no)
128   CEXCLUDES+= NAND_GPIO
129  endif
131 endif
134 ifeq ($(NOR),no)
135  CEXCLUDES+= NOR_SPI
136  CEXCLUDES+= NOR_EMIF
138 else
140  ifeq ($(NOR_SPI),no)
141   CEXCLUDES+= NOR_SPI
142  endif
144  ifeq ($(NOR_EMIF),no)
145   CEXCLUDES+= NOR_EMIF
146  endif
148 endif
151 ifeq ($(I2C),no)
152  CEXCLUDES+= I2C
153 endif
156 ifeq ($(SPI),no)
158  ifeq (,$(findstring NAND_SPI, $(CEXCLUDES)))
159   CEXCLUDES+= NAND_SPI
160  endif
162  ifeq (,$(findstring NOR_SPI, $(CEXCLUDES)))
163   CEXCLUDES+= NOR_SPI
164  endif
166 endif
169 ifeq ($(EMIF),no)
171  ifeq (,$(findstring NAND_EMIF, $(CEXCLUDES)))
172   CEXCLUDES+= NAND_EMIF
173  endif
175  ifeq (,$(findstring NOR_EMIF, $(CEXCLUDES)))
176   CEXCLUDES+= NOR_EMIF
177  endif
179 endif
181 # The endian of the build. The default target builds a single ROM image with both endians present
182 ifeq ($(ENDIAN),big)
183  ENDIAN_MODE=big
184 else
185  ifeq ($(ENDIAN),little)
186   ENDIAN_MODE=little
187  else
188   ENDIAN_MODE=both
189  endif
190 endif
192 # The i2c ROM bus address. The code will advance accross I2C bus address boundaries (the code must
193 # be blocked so that a single block doesn't cross a boundary, however). 
194 ifndef I2C_BUS_ADDR
195  I2C_BUS_ADDR=0x50
196 endif
198 ifndef I2C_MAP_ADDR
199 ifeq ($(ENDIAN),big)
200   I2C_MAP_ADDR=0x800
201  else
202   I2C_MAP_ADDR=0x500
203  endif
204 endif
207 # The SPI configuration parameters
208 ifndef SPI_MODE
209  SPI_MODE=1
210 endif
212 ifndef SPI_ADDR_WIDTH
213  SPI_ADDR_WIDTH=24
214 endif
216 ifndef SPI_NPIN
217  SPI_NPIN=5
218 endif
220 ifndef SPI_CSEL
221  SPI_CSEL=2
222 endif
224 ifndef SPI_C2TDEL
225  SPI_C2TDEL=4
226 endif
228 ifndef SPI_CLKDIV
229  SPI_CLKDIV=8
230 endif
232 ifneq ($(SPI_USE_ROM),0)
233  SPI_ROM=1
234 else
235  SPI_ROM=0
236 endif
238 SPI_DEFS=  SPI_MODE=$(SPI_MODE)
239 SPI_DEFS+= SPI_ADDR_WIDTH=$(SPI_ADDR_WIDTH) 
240 SPI_DEFS+= SPI_NPIN=$(SPI_NPIN) 
241 SPI_DEFS+= SPI_CSEL=$(SPI_CSEL) 
242 SPI_DEFS+= SPI_C2TDEL=$(SPI_C2TDEL) 
243 SPI_DEFS+= SPI_CLKDIV=$(SPI_CLKDIV) 
244 SPI_DEFS+= SPI_ROM=$(SPI_ROM)
247 .PHONY: all $(IBLS_C6X) evm_c6455 evm_c6472 evm_c6474 evm_c6457 evm_c6618 
248 .PHONY: test_c661x test_c6455 test_c6472 test_c6474 test_c6457 clean
251 all:
252         @echo must specify a target [ $(IBLS_C6X) $(EVMS_C6X) ]
255 # The debug flag changes compiler options
256 ifndef DEBUG
257  DEBUG=no
258 endif
259 export DEBUG
262 $(IBLS_C6X): 
263         make -f makestg1 ARCH=c64x TARGET=$@ I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=$(COMPACT_I2C) ENDIAN_MODE=$(ENDIAN_MODE) CEXCLUDES='$(CEXCLUDES)' SPI_DEFS='$(SPI_DEFS)' $@
265 # Configurations for individual evms
266 # The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
267 evm_c6455:
268         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES= c6455
270 # The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
271 evm_c6472:
272         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES= c6472
274 # The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
275 evm_c6474:
276         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' I2C_SIZE_BYTES=0x8000 c6474
277         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat
278         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' I2C_SIZE_BYTES=0x8000 c6474
279         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat
281 evm_c6474l:
282         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' c6474
283         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat
284         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' c6474
285         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat
287 # The 6457 EVM
288 evm_c6457:
289         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS' c6457
290         cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat
291         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS' c6457
292         cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat
294 # The 6608 EVM
295 EVM_6608_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1
297 evm_c6608:
298         make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x
300 # The 6678 EVM SPI/NOR Boot
301 EVM_6678_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1
303 evm_c6678_spi:
304         make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x51 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x
306 evm_c6678_i2c:
307         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no SPI_DEFS='$(EVM_6608_SPI_DEFS)' c661x
309 test_c661x:
310         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NOR_SPI' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
311         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NAND_SPI' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
312         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NOR_EMIF' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
313         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NAND_EMIF' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
314         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NAND_EMIF NOR_EMIF' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
315         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='SPI NOR_SPI NAND_SPI' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
316         make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES=I2C SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' c661x
318 # Test - builds all the targets, with single component exclusion
320 test_c6455:
321         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=          c6455
322         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=ETH       c6455
323         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=NAND_GPIO c6455
324         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=BIS       c6455
325         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=COFF      c6455
326         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=ELF       c6455
327         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=BLOB      c6455
329 test_c6457:
330         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=          c6457
331         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=ETH       c6457
332         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=NAND_GPIO c6457
333         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=BIS       c6457
334         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=COFF      c6457
335         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=ELF       c6457
336         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=BLOB      c6457
338 test_c6472:
339         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=          c6472
340         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=ETH       c6472
341         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=NAND_GPIO c6472
342         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=BIS       c6472
343         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=COFF      c6472
344         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=ELF       c6472
345         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES=BLOB      c6472
347 test_c6474:
348         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=          c6474
349         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=ETH       c6474
350         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=NAND_GPIO c6474
351         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=BIS       c6474
352         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=COFF      c6474
353         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=ELF       c6474
354         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=yes ENDIAN_MODE=both CEXCLUDES=BLOB      c6474
357 test_build: test_c6455 test_c6457 test_c6472 test_c6474 test_c661x
360 # will need to add a line for each additional ARCH type added
361 clean:
362         make -f makestg2 clean   ARCH=c64x TARGET=c6472
363         make -f makestg2 cleant  ARCH=c64x TARGET=c6472
364         make -f makestg2 cleant  ARCH=c64x TARGET=c6474
365         make -f makestg2 cleant  ARCH=c64x TARGET=c6455
366         make -f makestg2 cleant  ARCH=c64x TARGET=c6457
367         make -f makestg2 cleant  ARCH=c64x TARGET=c661x
368         make -C ../util/bconvert       clean
369         make -C ../util/btoccs         clean
370         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6455
371         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6472
372         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6474
373         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6457
374         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c661x
375         make -C ../util/nandwriter     clean    ARCH=c64x TARGET=c6455
376         make -C ../util/nandwriter     clean    ARCH=c64x TARGET=c6472
377         make -C ../util/nandwriter     clean    ARCH=c64x TARGET=c6474
378         make -C ../util/nandwriter     clean    ARCH=c64x TARGET=c6457
379         make -C ../util/nandwriter     clean    ARCH=c64x TARGET=c661x
380         make -C ../util/romparse       clean
381         make -C ../test/test1              clean
382         make -C ../test/test2              clean
383         find ../ -name *.oc | xargs rm -f
384         find ../ -name *.dc | xargs rm -f
385         find ../ -name *.oa | xargs rm -f
386         find ../ -name *.da | xargs rm -f