# # Unless you and Broadcom execute a separate written software license # agreement governing use of this software, this software is licensed to # you under the terms of the GNU General Public License version 2 (the # "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php, # with the following added to such license: # # As a special exception, the copyright holders of this software give # you permission to link this software with independent modules, and to # copy and distribute the resulting executable under terms of your # choice, provided that you also meet, for each linked independent # module, the terms and conditions of the license of that module. An # independent module is a module which is not derived from this # software. The special exception does not apply to any modifications # of the software. # # $Id: Makefile.linux-kernel,v 1.27 Broadcom SDK $ # $Copyright: (c) 2005 Broadcom Corp. # All Rights Reserved.$ # Configuration Flags # Filter out features that cannot or should not be supported in kernel mode _FEATURE_EXCLUDE_LIST += EDITLINE TCL OOB_RCPU CINT APIMODE DUNE_UI C_UNIT FEATURE_EXCLUDE_LIST = $(sort $(_FEATURE_EXCLUDE_LIST)) # Tools CC = $(CROSS_COMPILE)gcc CXX = $(CROSS_COMPILE)g++ LD = $(CROSS_COMPILE)ld AR = $(CROSS_COMPILE)ar ARFLAGS = -rc STRIP = $(CROSS_COMPILE)strip RANLIB = $(CROSS_COMPILE)ranlib OBJCOPY = $(CROSS_COMPILE)objcopy # Handle differences between gcc 2.x and gcc 3.x gcc-tune-flag = $(shell if ${CC} -dumpspecs | grep mcpu >/dev/null; then echo cpu; else echo tune; fi) # Configuration Variables # OSType Defines: This defines the type of RTOS or microkernel which you # are compiling the SAL (and its associated driver) for. New platforms # can be created by porting the routines (system.c) to your platform and # adding the define in this Makefile. OSTYPE = LINUX # # ORIGIN is used to Optionally select different CFLAGS. It is used to import # source from other vendors. If SOURCE=Broadcom, then the BCM_ flags are added # to those passed to the compiler. If SOURCE != Broadcom, BCM_ flags are NOT # added. # # Default specifies Broadcom # ifndef ORIGIN ORIGIN = Broadcom endif # # STD_{C|CPP|CXX}FLAGS - Standard flags used by ALL compilations # BCM_{C|CPP|CXX}FLAGS - Flags used for Broadcom source files # OPT_{C|CPP|CXX}FLAGS - Defined in local make files BEFORE inclusion of # this Makefile, to define local "Extra" flags. # CFGFLAGS += -I$(SDK)/systems/linux/kernel/modules/include \ -I$(SDK)/systems/bde/linux/include \ -I$(LINUX_INCLUDE) CFGFLAGS += -DNO_FILEIO -DNO_CTRL_C -DNO_MEMTUNE CFGFLAGS += -D$(OSTYPE) # No user sal for the linux kernel # NO_SAL_APPL=1 STD_CFLAGS = $(KFLAGS) $(CFGFLAGS) STD_CPPFLAGS = ${STD_CFLAGS} STD_CXXFLAGS = ${STD_CFLAGS} BCM_CFLAGS = -Wall -Werror BCM_CPPFLAGS = ${BCM_CFLAGS} BCM_CXXFLAGS = ${BCM_CFLAGS} ifeq (${ORIGIN}, Broadcom) CFLAGS += ${STD_CFLAGS} ${BCM_CFLAGS} ${OPT_CFLAGS} CPPFLAGS += ${STD_CPPFLAGS} ${BCM_CPPFLAGS} ${OPT_CPPFLAGS} CXXFLAGS += ${STD_CXXFLAGS} ${BCM_CXXFLAGS} ${OPT_CXXFLAGS} else CFLAGS += ${STD_CFLAGS} ${OPT_CFLAGS} CPPFLAGS += ${STD_CPPFLAGS} ${OPT_CPPFLAGS} CXXFLAGS += ${STD_CXXFLAGS} ${OPT_CXXFLAGS} endif # # Ignore pedantic flag for kernel modules # ifdef DEBUG_PEDANTIC DEBUG_PEDANTIC = FALSE endif # # DEPEND is used as a command to generate the list of dependencies. # The format of the output must be # "file.o : file.c a/b/c.h d/e/f.h ...", # if it is on multiple lines, each line must end in a backslash. # The output MUST be on standard out. # DEPEND = ${CC} -M $(CFLAGS) $<