blob: 801ffa9c1d97b0023fd1177a20df40ec09971b5c [file] [log] [blame]
include $(TOPDIR)/config.mk
include paths.mk
ifneq ($(BOARD_TYPE),mv_fpga_board)
MAKE_PEX = yes
MAKE_SDMMC = yes
MAKE_CNTMR = yes
MAKE_SATA = yes
MAKE_RTC = yes
else
MAKE_PCI = yes
endif
ifeq ($(BOARD),alp)
MAKE_USB = yes
MAKE_PPV2 = yes
MAKE_GENERAL_U_BOOT_TOOLS = yes
MAKE_SPI_NAND = yes
MAKE_SWITCH = yes
endif
ifeq ($(BOARD),a375)
MAKE_USB = yes
MAKE_PPV2 = yes
MAKE_GENERAL_U_BOOT_TOOLS = yes
MAKE_SPI_NAND = yes
endif
ifeq ($(BOARD),a38x)
MAKE_USB = yes
MAKE_SATA3 = yes
MAKE_NETA = yes
MAKE_GENERAL_U_BOOT_TOOLS = yes
MAKE_SPI_NAND = yes
MAKE_RTC2 = yes
ifdef CONFIG_ARMADA_38X
MAKE_SWITCH_SERVICES = yes
endif
MAKE_SWITCH = yes
endif
ifeq ($(BOARD),msys)
MAKE_NETA = yes
MAKE_SWITCH_SERVICES = yes
MAKE_GENERAL_U_BOOT_TOOLS = yes
ifdef CONFIG_ALLEYCAT3
MAKE_USB = yes
endif
endif
ifeq ($(BOARD_TYPE),mv_fpga_board)
MAKE_NETA = yes
endif
COMMON_OBJS = $(COMMON_DIR)/mvCommon.o $(COMMON_DIR)/mvList.o
OSSERVICES_OBJS = $(OSSERVICES_DIR)/mvOs.o
ifdef MAKE_SATA
OSSERVICES_OBJS+= $(OSSERVICES_DIR)/mvOsSata.o
endif
BOARD_OBJS-y = $(BOARD_ENV_DIR)/mvBoardEnvSpec.o
BOARD_OBJS-$(CONFIG_ARMADA_39X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec39x.o
BOARD_OBJS-$(CONFIG_ARMADA_38X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec38x.o
BOARD_OBJS-y += $(BOARD_ENV_DIR)/mvBoardEnvLib.o
BOARD_OBJS-$(CONFIG_ARMADA_39X) += $(BOARD_ENV_DIR)/mvBoardEnvLib39x.o
BOARD_OBJS-$(CONFIG_ARMADA_38X) += $(BOARD_ENV_DIR)/mvBoardEnvLib38x.o
BOARD_OBJS += $(sort $(BOARD_OBJS-y))
# SEE README.arm-unaligned-accesses
$(BOARD_ENV_DIR)/mvBoardEnvLib.o: CFLAGS += $(PLATFORM_NO_UNALIGNED)
HAL_IF_OBJS = $(HAL_IF_DIR)/mvSysSpi.o \
$(HAL_IF_DIR)/mvSysNfc.o \
$(HAL_IF_DIR)/mvSysXor.o \
$(HAL_IF_DIR)/mvSysEthPhy.o
HAL_OBJS = $(HAL_SPI_DIR)/mvSpi.o \
$(HAL_SPI_DIR)/mvSpiCmnd.o \
$(HAL_NFC_DIR)/mvNfc.o \
$(HAL_XOR_DIR)/mvXor.o \
$(HAL_XOR_DIR)/mvXorAddrDec.o \
$(HAL_DRAM_DIR)/mvDramIf.o \
$(HAL_ETHPHY_DIR)/mvEthPhy.o \
$(HAL_GPP_DIR)/mvGpp.o \
$(HAL_TWSI_DIR)/mvTwsi.o \
$(HAL_UART_DIR)/mvUart.o \
$(HAL_PCIIF_DIR)/mvPciIf.o \
$(HAL_PCIIF_UTIL_DIR)/mvPciUtils.o
HAL_OBJS-$(CONFIG_MV_XSMI) = $(HAL_ETHPHY_DIR)/mvEthPhyXsmi.o
HAL_OBJS-$(CONFIG_MV_ETH_10G) += $(HAL_ETHPHY_DIR)/mvEth10gPhy.o
HAL_OBJS += $(sort $(HAL_OBJS-y))
USP_OBJS = $(USP_DIR)/mv_spi.o \
$(USP_DIR)/nand_nfc.o \
$(USP_DIR)/mv_flash.o \
$(USP_DIR)/mv_nand.o \
$(USP_DIR)/mv_serial.o \
$(USP_DIR)/mv_i2c.o \
$(USP_DIR)/mv_tsc2005.o \
$(USP_DIR)/cmd_rcvr.o \
$(USP_DIR)/mv_cmd.o \
$(USP_DIR)/mv_dram.o \
$(USP_DIR)/cmd_bubt.o \
$(USP_DIR)/cmd_resetenv.o \
$(USP_DIR)/mvDramScrubbing.o \
$(USP_DIR)/cmd_ddr.o \
$(USP_DIR)/mv_phy.o
USP_OBJS-$(CONFIG_CMD_BOARDCFG) = $(USP_DIR)/cmd_boardCfg.o
USP_OBJS-$(CONFIG_OF_BOARD_SETUP) += $(USP_DIR)/mv_fdt.o
USP_OBJS += $(sort $(USP_OBJS-y))
ifdef MAKE_PPV2
ETH_OBJS = $(HAL_IF_DIR)/mvSysPp2.o \
$(HAL_PP2_GMAC_DIR)/mvEthGmacApi.o \
$(HAL_PP2_GBE_DIR)/mvPp2Gbe.o \
$(HAL_PP2_GBE_DIR)/mvPp2AddrDec.o \
$(HAL_PP2_BM_DIR)/mvBm.o \
$(HAL_PP2_PRS_DIR)/mvPp2PrsHw.o \
$(HAL_PP2_PRS_DIR)/mvPp2Prs.o \
$(HAL_PP2_CLS_DIR)/mvPp2ClsHw.o \
$(HAL_PP2_CLS_DIR)/mvPp2Classifier.o \
$(HAL_PP2_COMMON_DIR)/mvPp2Common.o \
$(USP_DIR)/mv_egiga_pp2.o
endif
ifdef MAKE_SWITCH_SERVICES
USP_OBJS += $(USP_DIR)/switchingServices/switchingServices.o
ifeq ($(BOARD),a38x)
USP_OBJS += $(USP_DIR)/switchingServices/sar_bc2.o
endif
endif
ifdef MAKE_NETA
ETH_OBJS = $(HAL_IF_DIR)/mvSysNeta.o \
$(HAL_NETA_GBE_DIR)/mvNeta.o \
$(HAL_NETA_GBE_DIR)/mvNetaAddrDec.o \
$(HAL_NETA_GBE_DIR)/mvNetaDebug.o \
$(USP_DIR)/mv_egiga_neta.o
endif
ifdef MAKE_SWITCH
USP_OBJS += $(USP_ETH_SWITCH_DIR)/mvSwitch.o
endif
ifdef MAKE_USB
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysUsb.o
HAL_OBJS += $(HAL_USB_DIR)/mvUsb.o \
$(HAL_USB_DIR)/mvUsbAddrDec.o
USP_OBJS += $(USP_DIR)/mv_usb.o
endif
ifdef MAKE_PCI
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPci.o
HAL_OBJS += $(HAL_PCI_DIR)/mvPci.o
USP_OBJS += $(USP_DIR)/mv_pci.o
endif
ifdef MAKE_PEX
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPex.o
HAL_OBJS += $(HAL_PEX_DIR)/mvPex.o \
$(HAL_PEX_DIR)/mvPexAddrDec.o
USP_OBJS += $(USP_DIR)/cmd_pcie.o \
$(USP_DIR)/mv_pex.o
endif
ifdef MAKE_SDMMC
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSdmmc.o
HAL_OBJS += $(HAL_MMC_DIR)/mvSdmmcAddrDec.o
endif
ifdef MAKE_CNTMR
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysCntmr.o
HAL_OBJS += $(HAL_CNTMR_DIR)/mvCntmr.o
endif
ifdef MAKE_SATA
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata.o
HAL_OBJS += $(HAL_SATA_CORE_DIR)/mvSata.o \
$(HAL_SATA_CORE_DIR)/mvSataAddrDec.o \
$(HAL_SATA_CORE_DIR)/mvStorageDev.o \
$(HAL_SATA_CORE_DIR)/mvLog.o
USP_OBJS += $(USP_DIR)/mv_ide.o
ifdef MAKE_SATA3
SOC_OBJS += $(HAL_SATA3_DIR)/mvSata3AddrDec.o
HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata3.o
USP_OBJS += $(USP_DIR)/mv_scsi.o
endif
endif
ifeq ($(MAKE_RTC),yes)
ifneq ($(MAKE_RTC2),yes)
HAL_OBJS += $(HAL_RTC_DIR)/mvRtc.o
USP_OBJS += $(USP_DIR)/mv_rtc.o
endif
endif
ifeq ($(MAKE_RTC2),yes)
USP_OBJS += $(USP_DIR)/mv_rtc2.o
endif
ifdef MAKE_GENERAL_U_BOOT_TOOLS
USP_OBJS += $(USP_DIR)/cmd_sys_restore.o \
$(USP_DIR)/cmd_unitInfo.o
endif
SOC_OBJS+= $(SOC_ENV_DIR)/mvCtrlEnvAddrDec.o \
$(SOC_ENV_DIR)/mvCtrlEnvLib.o \
$(SOC_SYS_DIR)/mvAhbToMbus.o \
$(SOC_SYS_DIR)/mvCpuIf.o \
$(SOC_CPU_DIR)/mvCpu.o \
$(SOC_DEVICE_DIR)/mvDevice.o
SOC_OBJS-$(CONFIG_MV_ETH_PP2) += $(SOC_ENV_DIR)/mvCtrlEthCompLib.o
SOC_OBJS-$(CONFIG_NET_COMPLEX) += $(SOC_ENV_DIR)/mvCtrlNetCompLib.o
SOC_OBJS += $(sort $(SOC_OBJS-y))
ifneq ($(BOARD),alp)
ifneq ($(BOARD),a375)
ifneq ($(BOARD),a38x)
USP_OBJS += $(USP_DIR)/mv_main.o
endif
endif
endif
ifneq ($(BOARD),msys)
ifneq ($(BOARD),axp)
SOBJS += $(USP_DIR)/jump.o \
$(HAL_DRAM_DIR)/mvDramIfBasicInit.o
endif
endif
SOBJS = $(USP_DIR)/platform.o
ifdef CONFIG_AMP_SUPPORT
USP_OBJS += $(USP_DIR)/mv_amp.o
SOBJS += $(USP_DIR)/mv_micro_loader.o
endif
ifdef MAKE_SPI_NAND
USP_OBJS += $(USP_DIR)/nand_spi.o
endif
COBJS = $(COMMON_OBJS) \
$(OSSERVICES_OBJS) \
$(HAL_OBJS) \
$(HAL_IF_OBJS) \
$(SOC_OBJS) \
$(BOARD_OBJS) \
$(USP_OBJS) \
$(ETH_OBJS)
LIB = lib$(VENDOR).o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))
SOBJS := $(addprefix $(obj),$(SOBJS))
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(call cmd_link_o_target, $(OBJS) $(SOBJS))
#########################################################################
# This is for $(obj).depend target
include $(SRCTREE)/rules.mk
sinclude $(obj).depend
#########################################################################