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