c68aca9a7b03f92b44ecb2c461a265ab3e041e42
[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 | c66x 
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_c66x
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 c6474l c6457 c66x
84 EVMS_C6X= evm_c6455 evm_c6472 evm_c6474 evm_c6474l
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  ENDIAN_SFX=be
190 else
191  ifeq ($(ENDIAN),little)
192   ENDIAN_MODE=little
193  ENDIAN_SFX=le
194  else
195   ENDIAN_MODE=both
196  ENDIAN_SFX=le-be
197  endif
198 endif
200 # The i2c ROM bus address. The code will advance accross I2C bus address boundaries (the code must
201 # be blocked so that a single block doesn't cross a boundary, however). 
202 ifndef I2C_BUS_ADDR
203  I2C_BUS_ADDR=0x50
204 endif
206 ifndef I2C_MAP_ADDR
207   I2C_MAP_ADDR=0x500
208 endif
211 # The SPI configuration parameters
212 ifndef SPI_MODE
213  SPI_MODE=1
214 endif
216 ifndef SPI_ADDR_WIDTH
217  SPI_ADDR_WIDTH=24
218 endif
220 ifndef SPI_NPIN
221  SPI_NPIN=5
222 endif
224 ifndef SPI_CSEL
225  SPI_CSEL=2
226 endif
228 ifndef SPI_C2TDEL
229  SPI_C2TDEL=4
230 endif
232 ifndef SPI_CLKDIV
233  SPI_CLKDIV=8
234 endif
236 ifneq ($(SPI_USE_ROM),0)
237  SPI_ROM=1
238 else
239  SPI_ROM=0
240 endif
242 SPI_DEFS=  SPI_MODE=$(SPI_MODE)
243 SPI_DEFS+= SPI_ADDR_WIDTH=$(SPI_ADDR_WIDTH) 
244 SPI_DEFS+= SPI_NPIN=$(SPI_NPIN) 
245 SPI_DEFS+= SPI_CSEL=$(SPI_CSEL) 
246 SPI_DEFS+= SPI_C2TDEL=$(SPI_C2TDEL) 
247 SPI_DEFS+= SPI_CLKDIV=$(SPI_CLKDIV) 
248 SPI_DEFS+= SPI_ROM=$(SPI_ROM)
251 .PHONY: all $(IBLS_C6X) evm_c6455 evm_c6472 evm_c6474 evm_c6474l evm_c6457 evm_c6678_i2c evm_c6670_i2c 
252 .PHONY: test_c66x test_c6455 test_c6472 test_c6474 test_c6457 clean
255 all:
256         @echo must specify a target [ $(IBLS_C6X) $(EVMS_C6X) ]
259 # The debug flag changes compiler options
260 ifndef DEBUG
261  DEBUG=no
262 endif
263 export DEBUG
266 $(IBLS_C6X): 
267         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)' $@
269 # Configurations for individual evms
270 # The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
271 evm_c6455:
272         make -f makestg1 ARCH=c64x TARGET=c6455 EVM=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 \
273     COMPACT_I2C=no ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS NAND_GPIO MULTI_BOOT' c6455
274         cp -f ibl_c6455/i2crom.dat bin/i2crom_0x50_c6455_$(ENDIAN_SFX).dat
275         cp -f ibl_c6455/i2crom.bin bin/i2crom_0x50_c6455_$(ENDIAN_SFX).bin
276         cp -f ../util/i2cConfig/i2cparam_c6455_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6455_$(ENDIAN_SFX)_0x500.out
278 # The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
279 evm_c6472:
280         make -f makestg1 ARCH=c64x TARGET=c6472 EVM=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 \
281     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS MULTI_BOOT' c6472
282         cp -f ibl_c6472/i2crom.dat bin/i2crom_0x50_c6472_$(ENDIAN_SFX).dat
283         cp -f ibl_c6472/i2crom.bin bin/i2crom_0x50_c6472_$(ENDIAN_SFX).bin
284         cp -f ../util/i2cConfig/i2cparam_c6472_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6472_$(ENDIAN_SFX)_0x500.out
286 # The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
287 evm_c6474:
288         make -f makestg1 ARCH=c64x TARGET=c6474 EVM=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
289     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
290         cp -f ibl_c6474/i2crom.dat bin/i2crom_0x50_c6474_$(ENDIAN_SFX).dat
291         cp -f ibl_c6474/i2crom.bin bin/i2crom_0x50_c6474_$(ENDIAN_SFX).bin
292         cp -f ../util/i2cConfig/i2cparam_c6474_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6474_$(ENDIAN_SFX)_0x200.out
294 evm_c6474l:
295         make -f makestg1 ARCH=c64x TARGET=c6474l EVM=c6474l I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
296     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474l
297         cp -f ibl_c6474l/i2crom.dat bin/i2crom_0x50_c6474l_$(ENDIAN_SFX).dat
298         cp -f ibl_c6474l/i2crom.bin bin/i2crom_0x50_c6474l_$(ENDIAN_SFX).bin
299         cp -f ../util/i2cConfig/i2cparam_c6474l_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6474l_$(ENDIAN_SFX)_0x200.out
300 # The 6457 EVM
301 evm_c6457:
302         make -f makestg1 ARCH=c64x TARGET=c6457 EVM=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
303     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS MULTI_BOOT' c6457
304         cp -f ibl_c6457/i2crom.dat bin/i2crom_0x50_c6457_$(ENDIAN_SFX).dat
305         cp -f ibl_c6457/i2crom.bin bin/i2crom_0x50_c6457_$(ENDIAN_SFX).bin
306         cp -f ../util/i2cConfig/i2cparam_c6457_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6457_$(ENDIAN_SFX)_0x200.out
308 # The 6608 EVM
309 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
311 evm_c6608:
312         make -f makestg1 ARCH=c64x TARGET=c66x I2C=no I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_6608_SPI_DEFS)' c66x
314 # The 667x EVM SPI/NOR Boot
315 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
317 evm_c667x_spi:
318         make -f makestg1 ARCH=c64x TARGET=c66x I2C=no I2C_BUS_ADDR=0x51 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_667x_SPI_DEFS)' c66x
320 evm_c6678_i2c:
321         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
322 ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c66x EVM=c6678l SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' \
323 CEXCLUDES='COFF BIS NAND_GPIO' c66x
324         cp -f ibl_c66x/i2crom.dat bin/i2crom_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX).dat
325         cp -f ibl_c66x/i2crom.bin bin/i2crom_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX).bin
326         cp -f ../util/i2cConfig/i2cparam_c66x_$(ENDIAN_SFX).out bin/i2cparam_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX)_$(I2C_MAP_ADDR).out
327 evm_c6670_i2c:
328         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
329 ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c66x EVM=c6670l SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' \
330 CEXCLUDES='COFF BIS NAND_EMIF' c66x
331         cp -f ibl_c66x/i2crom.dat bin/i2crom_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX).dat
332         cp -f ibl_c66x/i2crom.bin bin/i2crom_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX).bin
333         cp -f ../util/i2cConfig/i2cparam_c66x_$(ENDIAN_SFX).out bin/i2cparam_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX)_$(I2C_MAP_ADDR).out
335 test_c66x:
336         make -f makestg1 ARCH=c64x TARGET=c66x 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 c66x
337         make -f makestg1 ARCH=c64x TARGET=c66x 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 c66x
338         make -f makestg1 ARCH=c64x TARGET=c66x 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 c66x
339         make -f makestg1 ARCH=c64x TARGET=c66x 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 c66x
340         make -f makestg1 ARCH=c64x TARGET=c66x 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 c66x
341         make -f makestg1 ARCH=c64x TARGET=c66x ENDIAN_MODE=both CEXCLUDES='SPI NOR_SPI NAND_SPI' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c66x
342         make -f makestg1 ARCH=c64x TARGET=c66x 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' c66x
344 # Test - builds all the targets, with single component exclusion
346 test_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=          c6455
348         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
349         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
350         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
351         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
352         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
353         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
355 test_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=          c6457
357         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
358         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
359         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
360         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
361         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
362         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
364 test_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=          c6472
366         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
367         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
368         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
369         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
370         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
371         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
373 test_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=          c6474
375         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
376         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
377         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
378         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
379         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
380         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
383 test_build: test_c6455 test_c6457 test_c6472 test_c6474 test_c66x
386 # will need to add a line for each additional ARCH type added
387 clean:
388         make -f makestg2 clean   ARCH=c64x TARGET=c6472
389         make -f makestg2 cleant  ARCH=c64x TARGET=c6472
390         make -f makestg2 cleant  ARCH=c64x TARGET=c6474
391         make -f makestg2 cleant  ARCH=c64x TARGET=c6474l
392         make -f makestg2 cleant  ARCH=c64x TARGET=c6455
393         make -f makestg2 cleant  ARCH=c64x TARGET=c6457
394         make -f makestg2 cleant  ARCH=c64x TARGET=c66x
395         make -C ../util/bconvert       clean
396         make -C ../util/btoccs         clean
397         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6455
398         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6472
399         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6474
400         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6474l
401         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6457
402         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c66x
403         make -C ../util/romparse       clean
404         make -C ../util/iblConfig/build    clean
405         make -C ../test/test1              clean
406         make -C ../test/test2              clean
407         rm -f bin/*.out
408         rm -f bin/*.dat
409         rm -f bin/*.bin
410         find ../ -name *.oc | xargs rm -f
411         find ../ -name *.dc | xargs rm -f
412         find ../ -name *.oa | xargs rm -f
413         find ../ -name *.da | xargs rm -f
414         find ../ -name *.tmp | xargs rm -f
415         find ../ -name cdefdep | xargs rm -f