blob: b0bbc4a0b7444ef62fb58c384d9c6d178ef1c6d7 [file] [log] [blame]
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +03001include $(TOPDIR)/config.mk
2include paths.mk
3
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +03004
Omri Itach4f88e452013-02-12 17:08:40 +02005ifneq ($(BOARD_TYPE),mv_fpga_board)
Omri Itach8df53572013-03-24 17:33:37 +02006MAKE_PEX = yes
7MAKE_SDMMC = yes
8MAKE_CNTMR = yes
9MAKE_SATA = yes
10MAKE_RTC = yes
Omri Itach4f88e452013-02-12 17:08:40 +020011else
Omri Itach8df53572013-03-24 17:33:37 +020012MAKE_PCI = yes
Omri Itach4f88e452013-02-12 17:08:40 +020013endif
Omri Itach15631222012-08-29 17:33:06 +030014
Igor Patrikc53aff12013-03-03 17:33:37 +020015ifeq ($(BOARD),alp)
Omri Itach7c769c22013-03-26 17:33:37 +020016MAKE_USB = yes
Omri Itach8df53572013-03-24 17:33:37 +020017MAKE_PPV2 = yes
18MAKE_GENERAL_U_BOOT_TOOLS = yes
Omri Itach96395dd2013-03-07 17:33:37 +020019endif
20
Igor Patrikc53aff12013-03-03 17:33:37 +020021ifeq ($(BOARD),a375)
Omri Itach7c769c22013-03-26 17:33:37 +020022MAKE_USB = yes
Omri Itach8df53572013-03-24 17:33:37 +020023MAKE_PPV2 = yes
24MAKE_GENERAL_U_BOOT_TOOLS = yes
Igor Patrikc53aff12013-03-03 17:33:37 +020025endif
26
Eli Nidam6da494e2013-03-10 17:33:37 +020027ifeq ($(BOARD),a38x)
Omri Itach7c769c22013-03-26 17:33:37 +020028MAKE_USB = yes
Eli Nidam0c69ae52013-03-23 17:33:37 +020029MAKE_SATA3 = yes
Omri Itach8df53572013-03-24 17:33:37 +020030MAKE_NETA = yes
31MAKE_GENERAL_U_BOOT_TOOLS = yes
Eli Nidam6da494e2013-03-10 17:33:37 +020032endif
33
Omri Itach8df53572013-03-24 17:33:37 +020034ifeq ($(BOARD),msys)
35MAKE_NETA = yes
Eli Nidamf57e98b2013-03-13 17:33:37 +020036MAKE_SWITCH_SERVICES = yes
Omri Itach8afb1a72013-03-05 17:33:37 +020037ifdef CONFIG_ALLEYCAT3
38MAKE_USB = yes
39endif
Omri Itach8df53572013-03-24 17:33:37 +020040endif
Shadi Ammourib2129892013-03-15 17:33:37 +020041
Omri Itach8df53572013-03-24 17:33:37 +020042ifeq ($(BOARD_TYPE),mv_fpga_board)
43MAKE_NETA = yes
44endif
45
46
47COMMON_OBJS = $(COMMON_DIR)/mvCommon.o
48OSSERVICES_OBJS = $(OSSERVICES_DIR)/mvOs.o
49ifdef MAKE_SATA
50OSSERVICES_OBJS+= $(OSSERVICES_DIR)/mvOsSata.o
51endif
Hanna Hawaeab563c2013-03-26 17:33:37 +020052
53BOARD_OBJS-y = $(BOARD_ENV_DIR)/mvBoardEnvSpec.o
54BOARD_OBJS-$(CONFIG_ARMADA_39X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec39x.o
55BOARD_OBJS-$(CONFIG_ARMADA_38X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec38x.o
56BOARD_OBJS-y += $(BOARD_ENV_DIR)/mvBoardEnvLib.o
57BOARD_OBJS += $(sort $(BOARD_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +020058
59HAL_IF_OBJS = $(HAL_IF_DIR)/mvSysSpi.o \
60 $(HAL_IF_DIR)/mvSysNfc.o \
61 $(HAL_IF_DIR)/mvSysXor.o \
62 $(HAL_IF_DIR)/mvSysEthPhy.o
63
64
65
66HAL_OBJS = $(HAL_SPI_DIR)/mvSpi.o \
67 $(HAL_SPI_DIR)/mvSpiCmnd.o \
68 $(HAL_NFC_DIR)/mvNfc.o \
69 $(HAL_XOR_DIR)/mvXor.o \
70 $(HAL_XOR_DIR)/mvXorAddrDec.o \
71 $(HAL_DRAM_DIR)/mvDramIf.o \
72 $(HAL_ETHPHY_DIR)/mvEthPhy.o \
73 $(HAL_GPP_DIR)/mvGpp.o \
74 $(HAL_TWSI_DIR)/mvTwsi.o \
75 $(HAL_UART_DIR)/mvUart.o \
76 $(HAL_PCIIF_DIR)/mvPciIf.o \
77 $(HAL_PCIIF_UTIL_DIR)/mvPciUtils.o
Hanna Hawa597804a2013-03-15 17:33:37 +020078HAL_OBJS-$(CONFIG_ARMADA_39X) = $(HAL_ETHPHY_DIR)/mvEthPhyXsmi.o
79HAL_OBJS += $(sort $(HAL_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +020080
81USP_OBJS = $(USP_DIR)/mv_spi.o \
82 $(USP_DIR)/nand_nfc.o \
83 $(USP_DIR)/mv_flash.o \
84 $(USP_DIR)/mv_serial.o \
85 $(USP_DIR)/mv_i2c.o \
86 $(USP_DIR)/mv_tsc2005.o \
87 $(USP_DIR)/cmd_rcvr.o \
88 $(USP_DIR)/mv_cmd.o \
89 $(USP_DIR)/mv_dram.o \
90 $(USP_DIR)/cmd_bubt.o \
91 $(USP_DIR)/cmd_resetenv.o \
92 $(USP_DIR)/mvDramScrubbing.o \
93 $(USP_DIR)/mv_fdt.o \
94 $(USP_DIR)/cmd_ddr.o \
95 $(USP_DIR)/mv_phy.o
Hanna Hawa325b5cd2013-03-18 17:33:37 +020096USP_OBJS-$(CONFIG_CMD_BOARDCFG) = $(USP_DIR)/cmd_boardCfg.o
Hanna Hawab0a08882013-03-07 17:33:37 +020097USP_OBJS += $(sort $(USP_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +020098
99ifdef MAKE_PPV2
100ETH_OBJS = $(HAL_IF_DIR)/mvSysPp2.o \
101 $(HAL_PP2_GMAC_DIR)/mvEthGmacApi.o \
102 $(HAL_PP2_GBE_DIR)/mvPp2Gbe.o \
103 $(HAL_PP2_GBE_DIR)/mvPp2AddrDec.o \
104 $(HAL_PP2_BM_DIR)/mvBm.o \
105 $(HAL_PP2_PRS_DIR)/mvPp2PrsHw.o \
106 $(HAL_PP2_PRS_DIR)/mvPp2Prs.o \
107 $(HAL_PP2_CLS_DIR)/mvPp2ClsHw.o \
108 $(HAL_PP2_CLS_DIR)/mvPp2Classifier.o \
109 $(HAL_PP2_COMMON_DIR)/mvPp2Common.o \
110 $(USP_DIR)/mv_egiga_pp2.o
111
112USP_OBJS += $(USP_ETH_SWITCH_DIR)/mvSwitch.o
113endif
114
Eli Nidamf57e98b2013-03-13 17:33:37 +0200115ifdef MAKE_SWITCH_SERVICES
116USP_OBJS += $(USP_DIR)/switchingServices/switchingServices.o
117endif
Omri Itach8df53572013-03-24 17:33:37 +0200118
119ifdef MAKE_NETA
120ETH_OBJS = $(HAL_IF_DIR)/mvSysNeta.o \
121 $(HAL_NETA_GBE_DIR)/mvNeta.o \
122 $(HAL_NETA_GBE_DIR)/mvNetaAddrDec.o \
123 $(HAL_NETA_GBE_DIR)/mvNetaDebug.o \
124 $(USP_DIR)/mv_egiga_neta.o
125endif
126
127
128ifdef MAKE_USB
129HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysUsb.o
130HAL_OBJS += $(HAL_USB_DIR)/mvUsb.o \
131 $(HAL_USB_DIR)/mvUsbAddrDec.o
132USP_OBJS += $(USP_DIR)/mv_usb.o
133endif
134
135ifdef MAKE_PCI
136HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPci.o
137HAL_OBJS += $(HAL_PCI_DIR)/mvPci.o
138USP_OBJS += $(USP_DIR)/mv_pci.o
139endif
140
141
142ifdef MAKE_PEX
143HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPex.o
144HAL_OBJS += $(HAL_PEX_DIR)/mvPex.o \
145 $(HAL_PEX_DIR)/mvPexAddrDec.o
146USP_OBJS += $(USP_DIR)/cmd_pcie.o \
147 $(USP_DIR)/mv_pex.o
148endif
149
150
151ifdef MAKE_SDMMC
152HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSdmmc.o
153HAL_OBJS += $(HAL_MMC_DIR)/mvSdmmcAddrDec.o
154endif
155
156
157ifdef MAKE_CNTMR
158HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysCntmr.o
159HAL_OBJS += $(HAL_CNTMR_DIR)/mvCntmr.o
160endif
161
162
163ifdef MAKE_SATA
164HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata.o
165HAL_OBJS += $(HAL_SATA_CORE_DIR)/mvSata.o \
166 $(HAL_SATA_CORE_DIR)/mvSataAddrDec.o \
167 $(HAL_SATA_CORE_DIR)/mvStorageDev.o \
168 $(HAL_SATA_CORE_DIR)/mvLog.o
169USP_OBJS += $(USP_DIR)/mv_ide.o
Eli Nidam0c69ae52013-03-23 17:33:37 +0200170ifdef MAKE_SATA3
171SOC_OBJS += $(HAL_SATA3_DIR)/mvSata3AddrDec.o
172HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata3.o
Eli Nidamba4d0e02013-03-01 17:33:37 +0200173USP_OBJS += $(USP_DIR)/mv_scsi.o
Eli Nidam0c69ae52013-03-23 17:33:37 +0200174endif
Omri Itach8df53572013-03-24 17:33:37 +0200175endif
176
177
178ifdef MAKE_RTC
179HAL_OBJS += $(HAL_RTC_DIR)/mvRtc.o
180USP_OBJS += $(USP_DIR)/mv_rtc.o
181endif
182
183
184ifdef MAKE_GENERAL_U_BOOT_TOOLS
185USP_OBJS += $(USP_DIR)/cmd_sys_restore.o \
186 $(USP_DIR)/cmd_unitInfo.o
187endif
188
189SOC_OBJS+= $(SOC_ENV_DIR)/mvCtrlEnvAddrDec.o \
190 $(SOC_ENV_DIR)/mvCtrlEnvLib.o \
191 $(SOC_SYS_DIR)/mvAhbToMbus.o \
192 $(SOC_SYS_DIR)/mvCpuIf.o \
193 $(SOC_CPU_DIR)/mvCpu.o \
194 $(SOC_DEVICE_DIR)/mvDevice.o
195
196ifdef MAKE_PPV2
197SOC_OBJS += $(SOC_ENV_DIR)/mvCtrlEthCompLib.o
Omri Itach4f88e452013-02-12 17:08:40 +0200198endif
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +0300199
Igor Patrikc53aff12013-03-03 17:33:37 +0200200ifneq ($(BOARD),alp)
201ifneq ($(BOARD),a375)
Eli Nidam6da494e2013-03-10 17:33:37 +0200202ifneq ($(BOARD),a38x)
Omri Itach8df53572013-03-24 17:33:37 +0200203USP_OBJS += $(USP_DIR)/mv_main.o
Omri Itachcee79ae2013-02-13 14:34:19 +0200204endif
Igor Patrikc53aff12013-03-03 17:33:37 +0200205endif
Eli Nidam6da494e2013-03-10 17:33:37 +0200206endif
Omri Itachcee79ae2013-02-13 14:34:19 +0200207
Omri Itach8df53572013-03-24 17:33:37 +0200208ifneq ($(BOARD),msys)
209ifneq ($(BOARD),axp)
210SOBJS += $(USP_DIR)/jump.o \
211 $(HAL_DRAM_DIR)/mvDramIfBasicInit.o
212endif
213endif
214
Omri Itach7d6ed212013-02-19 14:34:19 +0200215SOBJS = $(USP_DIR)/platform.o
Omri Itacha765c962012-11-04 16:01:36 +0200216
Omri Itach8df53572013-03-24 17:33:37 +0200217ifdef CONFIG_AMP_SUPPORT
218USP_OBJS += $(USP_DIR)/mv_amp.o
219SOBJS += $(USP_DIR)/mv_micro_loader.o
Eli Nidam6da494e2013-03-10 17:33:37 +0200220endif
221
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +0300222COBJS = $(COMMON_OBJS) \
223 $(OSSERVICES_OBJS) \
224 $(HAL_OBJS) \
225 $(HAL_IF_OBJS) \
226 $(SOC_OBJS) \
227 $(BOARD_OBJS) \
228 $(USP_OBJS) \
229 $(ETH_OBJS)
230
231LIB = lib$(VENDOR).o
232
233SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
234OBJS := $(addprefix $(obj),$(COBJS))
235SOBJS := $(addprefix $(obj),$(SOBJS))
236
237$(LIB): $(obj).depend $(OBJS) $(SOBJS)
238 $(call cmd_link_o_target, $(OBJS) $(SOBJS))
239
240#########################################################################
241# This is for $(obj).depend target
242include $(SRCTREE)/rules.mk
243
244sinclude $(obj).depend
245
246#########################################################################