]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/ibl.git/blob - src/make/Makefile
c64x+ : modify Makefile to build NAND GPIO driver
[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 c6457 c66x
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  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_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 I2C_BUS_ADDR=0x50 \
273     I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF COFF BIS NAND_GPIO MULTI_BOOT' c6455
274         cp -f ibl_c6455/i2crom.dat bin/i2crom_0x50_c6455_le-be.dat
275         cp -f ibl_c6455/i2crom.bin bin/i2crom_0x50_c6455_le-be.bin
276         cp -f ../util/i2cConfig/i2cparam_c6455_le.out bin/i2cparam_0x50_c6455_le_$(I2C_MAP_ADDR).out
277         cp -f ../util/i2cConfig/i2cparam_c6455_be.out bin/i2cparam_0x50_c6455_be_$(I2C_MAP_ADDR).out
279 # The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
280 evm_c6472:
281         make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 \
282     I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF BIS MULTI_BOOT' c6472
283         cp -f ibl_c6472/i2crom.dat bin/i2crom_0x50_c6472_le-be.dat
284         cp -f ibl_c6472/i2crom.bin bin/i2crom_0x50_c6472_le-be.bin
285         cp -f ../util/i2cConfig/i2cparam_c6472_le.out bin/i2cparam_0x50_c6472_le_$(I2C_MAP_ADDR).out
286         cp -f ../util/i2cConfig/i2cparam_c6472_be.out bin/i2cparam_0x50_c6472_be_$(I2C_MAP_ADDR).out
288 # The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
289 evm_c6474:
290         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
291     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
292         cp -f ibl_c6474/i2crom.dat bin/i2crom_0x50_c6474_$(ENDIAN_SFX).dat
293         cp -f ibl_c6474/i2crom.bin bin/i2crom_0x50_c6474_$(ENDIAN_SFX).bin
294         cp -f ../util/i2cConfig/i2cparam_c6474_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6474_$(ENDIAN_SFX)_0x200.out
296 evm_c6474l:
297         make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
298     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
299         cp -f ibl_c6474/i2crom.dat bin/i2crom_0x50_c6474l_$(ENDIAN_SFX).dat
300         cp -f ibl_c6474/i2crom.bin bin/i2crom_0x50_c6474l_$(ENDIAN_SFX).bin
301         cp -f ../util/i2cConfig/i2cparam_c6474_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6474l_$(ENDIAN_SFX)_0x200.out
303 # The 6457 EVM
304 evm_c6457:
305         make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
306     COMPACT_I2C=yes ENDIAN_MODE=$(ENDIAN) CEXCLUDES='ELF COFF BIS MULTI_BOOT' c6457
307         cp -f ibl_c6457/i2crom.dat bin/i2crom_0x50_c6457_$(ENDIAN_SFX).dat
308         cp -f ibl_c6457/i2crom.bin bin/i2crom_0x50_c6457_$(ENDIAN_SFX).bin
309         cp -f ../util/i2cConfig/i2cparam_c6457_$(ENDIAN_SFX).out bin/i2cparam_0x50_c6457_$(ENDIAN_SFX)_0x200.out
311 # The 6608 EVM
312 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
314 evm_c6608:
315         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
317 # The 667x EVM SPI/NOR Boot
318 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
320 evm_c667x_spi:
321         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
323 evm_c6678_i2c:
324         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
325 ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c66x SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' \
326 CEXCLUDES='COFF BIS NAND_GPIO' c66x
327         cp -f ibl_c66x/i2crom.dat bin/i2crom_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX).dat
328         cp -f ibl_c66x/i2crom.bin bin/i2crom_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX).bin
329         cp -f ../util/i2cConfig/i2cparam_c66x_$(ENDIAN_SFX).out bin/i2cparam_$(I2C_BUS_ADDR)_c6678_$(ENDIAN_SFX)_$(I2C_MAP_ADDR).out
331 evm_c6670_i2c:
332         make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
333 ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c66x SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' \
334 CEXCLUDES='COFF BIS NAND_EMIF' c66x
335         cp -f ibl_c66x/i2crom.dat bin/i2crom_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX).dat
336         cp -f ibl_c66x/i2crom.bin bin/i2crom_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX).bin
337         cp -f ../util/i2cConfig/i2cparam_c66x_$(ENDIAN_SFX).out bin/i2cparam_$(I2C_BUS_ADDR)_c6670_$(ENDIAN_SFX)_$(I2C_MAP_ADDR).out
339 test_c66x:
340         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
341         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
342         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
343         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
344         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
345         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
346         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
348 # Test - builds all the targets, with single component exclusion
350 test_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=          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=ETH       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=NAND_GPIO c6455
354         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
355         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
356         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
357         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
359 test_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=          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=ETH       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=NAND_GPIO c6457
363         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
364         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
365         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
366         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
368 test_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=          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=ETH       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=NAND_GPIO c6472
372         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
373         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
374         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
375         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
377 test_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=          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=ETH       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=NAND_GPIO c6474
381         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
382         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
383         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
384         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
387 test_build: test_c6455 test_c6457 test_c6472 test_c6474 test_c66x
390 # will need to add a line for each additional ARCH type added
391 clean:
392         make -f makestg2 clean   ARCH=c64x TARGET=c6472
393         make -f makestg2 cleant  ARCH=c64x TARGET=c6472
394         make -f makestg2 cleant  ARCH=c64x TARGET=c6474
395         make -f makestg2 cleant  ARCH=c64x TARGET=c6455
396         make -f makestg2 cleant  ARCH=c64x TARGET=c6457
397         make -f makestg2 cleant  ARCH=c64x TARGET=c66x
398         make -C ../util/bconvert       clean
399         make -C ../util/btoccs         clean
400         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6455
401         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6472
402         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6474
403         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c6457
404         make -C ../util/i2cConfig      clean    ARCH=c64x TARGET=c66x
405         make -C ../util/romparse       clean
406         make -C ../test/test1              clean
407         make -C ../test/test2              clean
408         rm -f bin/*.out
409         rm -f bin/*.dat
410         rm -f bin/*.bin
411         find ../ -name *.oc | xargs rm -f
412         find ../ -name *.dc | xargs rm -f
413         find ../ -name *.oa | xargs rm -f
414         find ../ -name *.da | xargs rm -f
415         find ../ -name *.tmp | xargs rm -f
416         find ../ -name cdefdep | xargs rm -f