d9e5a8744533b6111cbc5243cd746d52211927d6
[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 #*                      [MULTI_BOOT=no]                                         /* Disables Multi-boot feature */
61 #*                      [SPI_MODE=<0,1,2,3>]                            /* Selects the SPI operating mode */
62 #*                      [SPI_ADDR_WIDTH=<16,24>]                        /* Selects the SPI address width */
63 #*                      [SPI_NPIN=<4,5>]                                        /* Selects the number of pins on the interface */
64 #*                      [SPI_CSEL=<1,2>]                                        /* Sets the SPI CSEL value in 5 pin mode */
65 #*                      [SPI_C2TDEL=x]                                          /* Sets the SPI C to T delay value */
66 #*                      [SPI_CLKDIV=x]                                          /* Sets the SPI module clock divider */
67 #*                      [SPI_USE_ROM=yes]                                       /* Uses SPI interface parameters from boot ROM, if available */
68 #*          [ENDIAN= both | big | little]               /* Selects the endian of the build */
69 #*          [I2C_BUS_ADDR= 0x50 | 0x51]                 /* The initial I2C bus address */
70 #*          [COMPACT_I2C=yes]                                   /* Mimimizes the size of the I2C */
71 #*          [I2C_MAP_ADDR= 0x500 | 0x800]               /* The IBL configuration parameter offset */
72 #*                      
73 #*
74 #* or to make a board specific configuraiton
75 #*
76 #*                      make evm_c6455 | evm_c6472 | evm_c6474 | evm_c6457 | evm_c661x
77 #*
78 #* or to test the builds by making all the devices and testing excludes
79 #*
80 #*                      make test_build
81 #*******************************************************************************************
83 IBLS_C6X= c6455 c6472 c6474 c6457 c661x
84 EVMS_C6X= evm_c6455 evm_c6472 evm_c6474
87 # Excluding functions from the build reduces the I2C eeprom memory used and
88 # speeds the initial boot time. Note that boot table cannot be excluded
89 # because it is required for the two stage I2C load process
91 CEXCLUDES=
93 ifeq ($(ETH),no)
94  CEXCLUDES+= ETH
95 endif
97 ifeq ($(BIS),no)
98  CEXCLUDES+= BIS
99 endif
101 ifeq ($(COFF),no)
102  CEXCLUDES+= COFF
103 endif
105 ifeq ($(BLOB),no)
106  CEXCLUDES+= BLOB
107 endif
109 ifeq ($(ELF),no)
110  CEXCLUDES+= ELF
111 endif
113 ifeq ($(NAND),no)
114  CEXCLUDES+= NAND_SPI
115  CEXCLUDES+= NAND_EMIF
116  CEXCLUDES+= NAND_GPIO
118 else
120  ifeq ($(NAND_SPI),no)
121   CEXCLUDES+= NAND_SPI
122  endif
124  ifeq ($(NAND_EMIF),no)
125   CEXCLUDES+= NAND_EMIF
126  endif
128  ifeq ($(NAND_GPIO),no)
129   CEXCLUDES+= NAND_GPIO
130  endif
132 endif
135 ifeq ($(NOR),no)
136  CEXCLUDES+= NOR_SPI
137  CEXCLUDES+= NOR_EMIF
139 else
141  ifeq ($(NOR_SPI),no)
142   CEXCLUDES+= NOR_SPI
143  endif
145  ifeq ($(NOR_EMIF),no)
146   CEXCLUDES+= NOR_EMIF
147  endif
149 endif
152 ifeq ($(I2C),no)
153  CEXCLUDES+= I2C
154 endif
157 ifeq ($(SPI),no)
159  ifeq (,$(findstring NAND_SPI, $(CEXCLUDES)))
160   CEXCLUDES+= NAND_SPI
161  endif
163  ifeq (,$(findstring NOR_SPI, $(CEXCLUDES)))
164   CEXCLUDES+= NOR_SPI
165  endif
167 endif
170 ifeq ($(EMIF),no)
172  ifeq (,$(findstring NAND_EMIF, $(CEXCLUDES)))
173   CEXCLUDES+= NAND_EMIF
174  endif
176  ifeq (,$(findstring NOR_EMIF, $(CEXCLUDES)))
177   CEXCLUDES+= NOR_EMIF
178  endif
180 endif
182 ifeq ($(MULTI_BOOT),no)
183   CEXCLUDES+= MULTI_BOOT
184 endif
186 # The endian of the build. The default target builds a single ROM image with both endians present
187 ifeq ($(ENDIAN),big)
188  ENDIAN_MODE=big
189 else
190  ifeq ($(ENDIAN),little)
191   ENDIAN_MODE=little
192  else
193   ENDIAN_MODE=both
194  endif
195 endif
197 # The i2c ROM bus address. The code will advance accross I2C bus address boundaries (the code must
198 # be blocked so that a single block doesn't cross a boundary, however). 
199 ifndef I2C_BUS_ADDR
200  I2C_BUS_ADDR=0x50
201 endif
203 ifndef I2C_MAP_ADDR
204 ifeq ($(ENDIAN),big)
205   I2C_MAP_ADDR=0x800
206  else
207   I2C_MAP_ADDR=0x500
208  endif
209 endif
212 # The SPI configuration parameters
213 ifndef SPI_MODE
214  SPI_MODE=1
215 endif
217 ifndef SPI_ADDR_WIDTH
218  SPI_ADDR_WIDTH=24
219 endif
221 ifndef SPI_NPIN
222  SPI_NPIN=5
223 endif
225 ifndef SPI_CSEL
226  SPI_CSEL=2
227 endif
229 ifndef SPI_C2TDEL
230  SPI_C2TDEL=4
231 endif
233 ifndef SPI_CLKDIV
234  SPI_CLKDIV=8
235 endif
237 ifneq ($(SPI_USE_ROM),0)
238  SPI_ROM=1
239 else
240  SPI_ROM=0
241 endif
243 SPI_DEFS=  SPI_MODE=$(SPI_MODE)
244 SPI_DEFS+= SPI_ADDR_WIDTH=$(SPI_ADDR_WIDTH) 
245 SPI_DEFS+= SPI_NPIN=$(SPI_NPIN) 
246 SPI_DEFS+= SPI_CSEL=$(SPI_CSEL) 
247 SPI_DEFS+= SPI_C2TDEL=$(SPI_C2TDEL) 
248 SPI_DEFS+= SPI_CLKDIV=$(SPI_CLKDIV) 
249 SPI_DEFS+= SPI_ROM=$(SPI_ROM)
252 .PHONY: all $(IBLS_C6X) evm_c6455 evm_c6472 evm_c6474 evm_c6457 evm_c6618 
253 .PHONY: test_c661x test_c6455 test_c6472 test_c6474 test_c6457 clean
256 all:
257         @echo must specify a target [ $(IBLS_C6X) $(EVMS_C6X) ]
260 # The debug flag changes compiler options
261 ifndef DEBUG
262  DEBUG=no
263 endif
264 export DEBUG
267 $(IBLS_C6X): 
268         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)' $@
270 # Configurations for individual evms
271 # The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
272 evm_c6455:
273         make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 \
274     I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF COFF BIS NAND_GPIO MULTI_BOOT' c6455
276 # The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
277 evm_c6472:
278         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 \
279     I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF BIS MULTI_BOOT NAND_GPIO' c6472
281 # The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
282 evm_c6474:
283         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
284     COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
285         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat
286         cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474_le.bin
287         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
288     COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
289         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat
290         cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474_be.bin
292 evm_c6474l:
293         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
294     COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
295         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat
296         cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474l_le.bin
297         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
298     COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
299         cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat
300         cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474l_be.bin
302 # The 6457 EVM
303 evm_c6457:
304         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
305     COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' c6457
306         cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat
307         cp ibl_c6457/i2crom.bin ibl_c6457/i2crom_0x50_c6457_le.bin
308         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
309     COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' c6457
310         cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat
311         cp ibl_c6457/i2crom.bin ibl_c6457/i2crom_0x50_c6457_be.bin
313 # The 6608 EVM
314 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
316 evm_c6608:
317         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
319 # The 667x EVM SPI/NOR Boot
320 EVM_667x_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1
322 evm_c667x_spi:
323         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_667x_SPI_DEFS)' c661x
325 evm_c667x_i2c:
326         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
327 ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' CEXCLUDES='COFF BIS' c661x
329 test_c661x:
330         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
331         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
332         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
333         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
334         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
335         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
336         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
338 # Test - builds all the targets, with single component exclusion
340 test_c6455:
341         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
342         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
343         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
344         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
345         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
346         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
347         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
349 test_c6457:
350         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
351         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
352         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
353         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
354         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
355         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
356         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
358 test_c6472:
359         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
360         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
361         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
362         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
363         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
364         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
365         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
367 test_c6474:
368         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
369         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
370         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
371         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
372         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
373         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
374         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
377 test_build: test_c6455 test_c6457 test_c6472 test_c6474 test_c661x
380 # will need to add a line for each additional ARCH type added
381 clean:
382         make -f makestg2 clean   ARCH=c64x TARGET=c6472
383         make -f makestg2 cleant  ARCH=c64x TARGET=c6472
384         make -f makestg2 cleant  ARCH=c64x TARGET=c6474
385         make -f makestg2 cleant  ARCH=c64x TARGET=c6455
386         make -f makestg2 cleant  ARCH=c64x TARGET=c6457
387         make -f makestg2 cleant  ARCH=c64x TARGET=c661x
388         make -C ../util/bconvert       clean
389         make -C ../util/btoccs         clean
390         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6455
391         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6472
392         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6474
393         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6457
394         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c661x
395         make -C ../util/romparse       clean
396         make -C ../test/test1              clean
397         make -C ../test/test2              clean
398         find ../ -name *.oc | xargs rm -f
399         find ../ -name *.dc | xargs rm -f
400         find ../ -name *.oa | xargs rm -f
401         find ../ -name *.da | xargs rm -f
402         find ../ -name *.tmp | xargs rm -f
403         find ../ -name cdefdep | xargs rm -f