1# 2# Makefile for Broadcom BCM947XX boards 3# 4# Copyright 2006, Broadcom Corporation 5# All Rights Reserved. 6# 7# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY 8# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM 9# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS 10# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. 11# 12# $Id: Makefile,v 1.1.1.1 2008/10/15 03:25:52 james26_jang Exp $ 13# 14 15CFE_MAXSIZE = 262144 16ifeq ($(strip $(CFG_BCM57XX)),1) 17CFEZ_MAXSIZE = 262144 18else 19CFEZ_MAXSIZE = 131072 20endif 21 22 23BSPOBJS += bcm947xx_init.o bcm947xx_devs.o ui_bcm947xx.o 24 25ALLOBJS += sbsdram.o hndmips.o sbutils.o hndchipc.o hndpci.o bcmsrom.o bcmutils.o \ 26 cfe_osl.o nvram.o nvram_rw.o bcmstdlib.o 27 28CFLAGS += -DBCM4710 -DBCM4704 -DBCMDRIVER 29 30CFLAGS += -I$(SRCBASE)/include 31 32vpath %.c $(SRCBASE)/shared $(SRCBASE)/shared/nvram 33vpath %.S $(SRCBASE)/shared 34 35ifeq ($(strip $(CFG_LITTLE)),0) 36CFLAGS += -DIL_BIGENDIAN -D_MIPSEB_DATA_INVARIANT_ 37endif 38 39ifeq ($(strip $(CFG_EMBEDDED_NVRAM)),1) 40CFLAGS += -DCFG_EMBEDDED_NVRAM=1 41endif 42 43ifeq ($(strip ${CFG_MINIMAL_SIZE}),1) 44CFLAGS += -DCFG_MINIMAL_SIZE=1 45else 46endif 47 48ifeq ($(strip $(CFG_FLASH)),1) 49CFLAGS += -DCFG_FLASH=1 50CFLAGS += -D_FLASH_BROKEN_BYTEREAD_ -DINCLUDE_FLASH_DRIVERS 51ALLOBJS += ui_test_flash.o 52endif 53 54ifeq ($(strip ${CFG_SFLASH}),1) 55CFLAGS += -DCFG_SFLASH=1 56ALLOBJS += dev_sflash.o sflash.o 57endif 58 59ifeq ($(strip $(CFG_ET)),1) 60ETOBJS := etc_adm.o etc47xx.o etc.o et_cfe.o bcmrobo.o 61CFLAGS += -DCFG_ET=1 62$(ETOBJS): ETFLAGS := $(CFLAGS) -I$(SRCBASE)/et/sys -DBCM47XX_CHOPS -DETROBO -DETADM -DDMA 63CFLAGS += $(ETFLAGS) 64HNDDMA := 1 65# Search for sources under src/et/sys or objects under src/et/cfe 66ifneq ($(wildcard $(SRCBASE)/et/sys),) 67vpath %.c $(SRCBASE)/et/sys 68ALLOBJS += $(ETOBJS) 69else 70ALLOBJS += $(foreach obj,$(ETOBJS),$(SRCBASE)/et/cfe/$(obj)) 71endif 72endif 73 74ifeq ($(strip $(CFG_WL)),1) 75CFLAGS += -DCFG_WL=1 76 77# get wl driver source files and flags, 78# macros are defined in build/broadcom/bcm947xx/Makefile 79# WLCFE is to pick wl_cfe.c from wl.mk 80WLCFE=1 81include $(WLCFGDIR)/$(WLCONFFILE) 82include $(WLCFGDIR)/wl.mk 83 84ifneq ($(WLFILES),) 85WLOBJS := $(patsubst %.c,%.o,$(WLFILES)) 86else 87$(error WLFILES is undefined in $(CONFIG_WL_CONF)) 88endif 89WL_DFLAGS := $(WLFLAGS) 90 91ifeq ($(strip $(CFG_WLU)),1) 92WLOBJS += wlu.o bcmwifi.o 93CFLAGS += -DCFG_WLU=1 94endif 95 96# add these path for WLOBJS only 97$(WLOBJS): WL_CFLAGS := -I$(SRCBASE)/wl/sys -I$(SRCBASE)/wl/exe $(WL_DFLAGS) 98CFLAGS += $(WL_CFLAGS) 99 100# Search for sources under src/wl/sys or objects under src/wl/cfe 101ifneq ($(wildcard $(SRCBASE)/wl/sys/wlc.h),) 102vpath %.c $(SRCBASE)/wl/sys $(SRCBASE)/wl/exe $(SRCBASE)/bcmcrypto $(SRCBASE)/shared 103ALLOBJS += $(WLOBJS) 104else 105ALLOBJS += $(foreach obj,$(WLOBJS),$(SRCBASE)/wl/cfe/$(obj)) 106endif 107 108HNDDMA := 1 109endif # CFG_WL 110 111 112# Search for sources under src/shared or objects under src/shared/cfe 113ifeq ($(strip $(HNDDMA)),1) 114ifneq ($(wildcard $(SRCBASE)/shared/hnddma.c),) 115ALLOBJS += hnddma.o 116else 117ALLOBJS += $(SRCBASE)/shared/cfe/hnddma.o 118endif 119endif 120 121ifeq ($(strip $(CFG_PCI)),1) 122BSPOBJS += bcm947xx_pci_machdep.o 123ifeq ($(strip $(CFG_BCM57XX)),1) 124CFLAGS += -DCFG_BCM57XX=1 125ALLOBJS += dev_bcm5700.o hndgige.o 126# Add robo if not already done by ET 127ifeq ($(strip $(CFG_ET)),0) 128ALLOBJS += bcmrobo.o 129endif 130endif 131endif 132 133