Merge branch 'linux-c6x-2.0.x' into boot-rel-exp
[keystone-rtos/ibl.git] / src / hw / c64x / 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 NAME: makefile
38 #*
39 #* DESCRIPTION: Makes the low level drivers for the hardware modules
40 #*
41 #**************************************************************************
43 ifndef IBL_ROOT
44         export IBL_ROOT=../../..
45 endif
47 ECODIR= $(IBL_ROOT)/hw
49 # If no target specified, set CSRC to all files (used for clean)
50 ifeq ($(TARGET),c6472)
51  CSRC= t64.c cpmacdrv.c pll.c psc.c emif31.c mdio.c gpio.c nandgpio.c i2c.c null_uart.c
52 else
53  ifeq ($(TARGET),c6474)
54   CSRC= t64.c cpmacdrv.c pll.c psc.c emif31.c mdio.c gpio.c nandgpio.c i2c.c sgmii.c null_uart.c
55  else
56   ifeq ($(TARGET),c6474l)
57    CSRC= t64.c cpmacdrv.c pll.c psc.c emif31.c mdio.c gpio.c nandgpio.c i2c.c sgmii.c null_uart.c
58   else
59    ifeq ($(TARGET),c6457)
60     CSRC= t64.c cpmacdrv.c pll.c psc.c emif31.c mdio.c gpio.c nandgpio.c i2c.c sgmiicur.c null_uart.c
61    else
62     ifeq ($(TARGET),c6455)
63      CSRC= t64.c cpmacdrv.c pll.c emif31.c mdio.c gpio.c nandgpio.c i2c.c null_uart.c
64         else
65          ifeq ($(TARGET),c66x)
66           CSRC= t64.c pll.c cfgpll.c cfgpll2.c mdio.c i2c.c psc.c cpsw.c qm.c cpdma.c pa.c sgmii.c serdes.c gmacsl.c emif4.c gpio.c
67           CSRC+= nandemif25.c nandgpio.c spi.c nandspi.c noremif25.c norspi.c emif25.c spiutil.c c66x_uart.c
68      else
69       CSRC= t64.c cpmacdrv.c pll.c psc.c emif31.c mdio.c gpio.c nandgpio.c i2c.c sgmii.c cfgpll.c cfgpll2.c
70           CSRC+= qm.c cpdma.c pa.c serdes.c gmacsl.c emif4.c nandemif25.c spi.c nandspi.c noremif25.c norspi.c emif25.c spiutil.c
71      endif
72     endif
73    endif
74   endif
75  endif
76 endif
79 .PHONY: hw
82 include $(IBL_ROOT)/make/$(ARCH)/makeeco.mk
85 C6X_C_DIR=   $(IBL_ROOT)
86 C6X_C_DIR+= ;$(IBL_ROOT)/arch/$(ARCH)
87 C6X_C_DIR+= ;$(ECODIR)
88 C6X_C_DIR+= ;$(STDINC)
89 C6X_C_DIR+= ;$(IBL_ROOT)/cfg/$(TARGET)
90 C6X_C_DIR+= ;$(IBL_ROOT)/hw/timer
91 C6X_C_DIR+= ;$(IBL_ROOT)/hw/macs/cpmac
92 C6X_C_DIR+= ;$(IBL_ROOT)/hw/macs
93 C6X_C_DIR+= ;$(IBL_ROOT)/hw/macs/cpmacsl
94 C6X_C_DIR+= ;$(IBL_ROOT)/driver/eth
95 C6X_C_DIR+= ;$(IBL_ROOT)/device
96 C6X_C_DIR+= ;$(IBL_ROOT)/device/$(TARGET)
97 C6X_C_DIR+= ;$(IBL_ROOT)/hw/plls
98 C6X_C_DIR+= ;$(IBL_ROOT)/hw/pscs
99 C6X_C_DIR+= ;$(IBL_ROOT)/hw/mdio
100 C6X_C_DIR+= ;$(IBL_ROOT)/hw/gpio
101 C6X_C_DIR+= ;$(IBL_ROOT)/hw/nands
102 C6X_C_DIR+= ;$(IBL_ROOT)/hw/nands/gpio
103 C6X_C_DIR+= ;$(IBL_ROOT)/hw/nands/emif25
104 C6X_C_DIR+= ;$(IBL_ROOT)/hw/nands/spi
105 C6X_C_DIR+= ;$(IBL_ROOT)/hw/i2c
106 C6X_C_DIR+= ;$(IBL_ROOT)/hw/sgmii
107 C6X_C_DIR+= ;$(IBL_ROOT)/hw/cpsw
108 C6X_C_DIR+= ;$(IBL_ROOT)/hw/cpdma
109 C6X_C_DIR+= ;$(IBL_ROOT)/hw/pa
110 C6X_C_DIR+= ;$(IBL_ROOT)/hw/spi
111 C6X_C_DIR+= ;$(IBL_ROOT)/hw/nors
112 C6X_C_DIR+= ;$(IBL_ROOT)/hw/emif25
113 C6X_C_DIR+= ;$(IBL_ROOT)/hw/uart
114 C6X_C_DIR+= ;$(IBL_ROOT)/ecc
115 export C6X_C_DIR
118 vpath % $(ECODIR)/timer/timer64
120 ifeq ($(TARGET),c6472)
121  vpath % $(ECODIR)/macs/cpmac
122  vpath % $(ECODIR)/plls/pllxx1p8
123  vpath % $(ECODIR)/pscs/psc2
124  vpath % $(ECODIR)/ddrs/emif31
125  vpath % $(ECODIR)/mdio
126  vpath % $(ECODIR)/gpio
127  vpath % $(ECODIR)/nands/gpio
128  vpath % $(ECODIR)/i2c
129  vpath % $(ECODIR)/uart/null_uart
130 endif
132 ifeq ($(TARGET),c6474)
133  vpath % $(ECODIR)/macs/cpmac
134  vpath % $(ECODIR)/plls/pllxx1p8
135  vpath % $(ECODIR)/pscs/psc2
136  vpath % $(ECODIR)/ddrs/emif31
137  vpath % $(ECODIR)/mdio
138  vpath % $(ECODIR)/gpio
139  vpath % $(ECODIR)/nands/gpio
140  vpath % $(ECODIR)/i2c
141  vpath % $(ECODIR)/sgmii
142  vpath % $(ECODIR)/uart/null_uart
143 endif
145 ifeq ($(TARGET),c6474l)
146  vpath % $(ECODIR)/macs/cpmac
147  vpath % $(ECODIR)/plls/pllxx1p8
148  vpath % $(ECODIR)/pscs/psc2
149  vpath % $(ECODIR)/ddrs/emif31
150  vpath % $(ECODIR)/mdio
151  vpath % $(ECODIR)/gpio
152  vpath % $(ECODIR)/nands/gpio
153  vpath % $(ECODIR)/i2c
154  vpath % $(ECODIR)/sgmii
155  vpath % $(ECODIR)/uart/null_uart
156 endif
158 ifeq ($(TARGET),c6457)
159  vpath % $(ECODIR)/macs/cpmac
160  vpath % $(ECODIR)/plls/pllcur
161  vpath % $(ECODIR)/pscs/psccur
162  vpath % $(ECODIR)/ddrs/emif31
163  vpath % $(ECODIR)/mdio
164  vpath % $(ECODIR)/gpio
165  vpath % $(ECODIR)/nands/gpio
166  vpath % $(ECODIR)/i2c
167  vpath % $(ECODIR)/sgmii
168  vpath % $(ECODIR)/uart/null_uart
169 endif
171 ifeq ($(TARGET),c6455)
172  vpath % $(ECODIR)/macs/cpmac
173  vpath % $(ECODIR)/plls/pllxx1p8
174  vpath % $(ECODIR)/ddrs/emif31
175  vpath % $(ECODIR)/mdio
176  vpath % $(ECODIR)/gpio
177  vpath % $(ECODIR)/nands/gpio
178  vpath % $(ECODIR)/i2c
179  vpath % $(ECODIR)/uart/null_uart
180 endif
182 ifeq ($(TARGET),c66x)
183  vpath % $(ECODIR)/plls/pll014phi
184  vpath % $(ECODIR)/mdio
185  vpath % $(ECODIR)/i2c
186  vpath % $(ECODIR)/pscs/psc2
187  vpath % $(ECODIR)/cpsw
188  vpath % $(ECODIR)/qm
189  vpath % $(ECODIR)/cpdma
190  vpath % $(ECODIR)/pa
191  vpath % $(ECODIR)/sgmii
192  vpath % $(ECODIR)/serdes
193  vpath % $(ECODIR)/gpio
194  vpath % $(ECODIR)/macs/cpmacsl
195  vpath % $(ECODIR)/ddrs/emif4
196  vpath % $(ECODIR)/nands/emif25
197  vpath % $(ECODIR)/nands/gpio
198  vpath % $(ECODIR)/nands/spi
199  vpath % $(ECODIR)/spi
200  vpath % $(ECODIR)/nors/emif25
201  vpath % $(ECODIR)/nors/spi
202  vpath % $(ECODIR)/emif25
203  vpath % $(ECODIR)/uart/c66x_uart
204 endif
207 hw: gen_cdefdep makefile $(OBJS)
209 $(OBJS): cdefdep
212 gen_cdefdep:
213         @echo Checking command line dependencies
214         @echo $(TARGET) $(ARCH) $(CDEFS) $(DEBUG) > cdefdep.tmp
215         @sh -c 'if diff -q cdefdep.tmp cdefdep ; then echo same ; else $(CP) cdefdep.tmp cdefdep ; fi '
217 cleant:
218         make -f makestg2 clean2 ARCH=c64x