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 15# Standard options 16CFG_MLONG64 := 0 17CFG_LITTLE ?= 1 18CFG_RELOC := 0 19CFG_UNCACHED := 0 20CFG_VAPI := 0 21CFG_BOARDNAME := "BCM947XX" 22CFG_PCI ?= 0 23CFG_ZLIB := 1 24CFG_MINIMAL_SIZE := 1 25CFG_CFLASH := 1 26CFG_XIP := 0 27CFG_ATE := 0 28 29# BCM947XX options 30CFG_EMBEDDED_NVRAM := 1 31CFG_FLASH := 1 # if CFG_XIP is set then CFG_FLASH must be set to 0 32CFG_SFLASH := 1 33CFG_ET ?= 1 34CFG_WL := 0 35CFG_WLU := 0 36CFG_SIM := 0 # build for Quickturn/Simulator 37CFG_SIM_CONSOLE := 0 # with console 38ifeq ($(strip $(CFG_PCI)),1) 39CFG_BCM57XX := 1 40endif 41CFG_BUFLOG := 0 42 43# HND source base 44SRCBASE := $(shell cd ../../../.. && pwd) 45TOP := $(SRCBASE)/cfe/cfe 46 47ifeq ($(strip $(CFG_RELOC)),0) 48 49# Link binary in RAM 50CFG_BOOTRAM := 1 51ifeq ($(strip $(CFG_XIP)),0) 52CFG_TEXT_START := 0x80300000 53else 54CFG_DATA_START := 0x80001000 55endif 56 57# To generating ATE traces 58ifeq ($(strip $(CFG_ATE)),1) 59CFLAGS += -DBCM_ATE 60endif 61 62# Toolchain prefix 63ifeq ($(CFG_LITTLE), 1) 64TOOLPREFIX := mipsel-linux- 65else 66TOOLPREFIX := mips-wrs-vxworks- 67endif 68 69#PATH := $(PATH):/projects/hnd/tools/linux/bin:/projects/hnd/tools/linux/hndtools-mips-wrs-vxworks-3.2.3/bin 70 71CFLAGS += -Ulinux -pipe 72 73# Disable 4710A0 compiler workarounds if any 74check_gcc = $(shell if $(GCC) $(1) -c -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) 75CFLAGS += $(call check_gcc, -m4710a0kern, ) 76 77# Disable PIC 78CFLAGS += -G 0 -mno-abicalls -fno-pic 79 80# Discard unused sections if supported 81CFLAGS += -ffunction-sections $(call check_gcc, -fvtable-gc, ) 82LDFLAGS += -static --gc-sections 83 84else 85 86# Locate data in RAM 87CFG_BOOTRAM := 0 88CFG_DATA_START := 0x80001000 89 90endif 91 92ARCH := mips 93CPU := bcmcore 94BOARD := bcm947xx 95 96 97# define WL_CONFFILE for arch/mips/board/bcm947xx/src/Makefile 98ifeq ($(strip $(CFG_WL)),1) 99WLCONFFILE ?= wlconfig_cfe_apsta 100WLTUNEFILE ?= wltunable_cfe.h 101WLCFGDIR := $(SRCBASE)/wl/config 102UPDATESH := $(WLCFGDIR)/diffupdate.sh 103endif 104 105include $(TOP)/main/cfe.mk 106 107# 108# Main target for normal builds 109# 110ifneq ($(strip $(CFG_WL)),1) 111ALL: cfe.bin 112 $(MAKE) -C compressed 113 114else # CFG_WL = 1 115 116CLEANOBJS += wlconf.h 117 118ALL: wlconf.h cfe.bin 119 $(MAKE) -C compressed 120 121wlconf.h: $(WLCFGDIR)/$(WLTUNEFILE) FORCE 122 [ ! -f $@ ] || chmod +w $@ 123 @echo "check and update config file" 124 cp $< wltemp 125 $(UPDATESH) wltemp $@ 126 127FORCE: 128 129endif 130 131cfe1M.bin: cfe.bin 132 dd conv=sync if=cfe.bin of=cfe1M.bin bs=1M 133 134CLEANOBJS += cfe1M.bin 135 136CLEAN: 137 $(MAKE) -C compressed clean 138 139clean: CLEAN 140 141 142.EXPORT_ALL_VARIABLES: 143 144# 145# Linker script 146# 147 148include $(TOP)/main/cfe_link.mk 149