openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

Makefile.linux-wrx-3_7 (4759B)


      1 # 
      2 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      3 # 
      4 # Copyright 2007-2019 Broadcom Inc. All rights reserved.
      5 
      6 # User must select one platform from below.By default WR_LINUX is selected. .
      7 ifeq (,$(BUILD_PLATFORM))
      8 BUILD_PLATFORM=WR_LINUX
      9 endif
     10 
     11 
     12 # Specify the KERNEL VERSION  you want to use for building SDK.
     13 ifeq (,$(KERN_VER))
     14 KERN_VER=3.10.59
     15 endif
     16 
     17 
     18 ifeq (,$(CROSS_COMPILE))
     19 CROSS_COMPILE := mips64-nlm-linux-
     20 endif
     21 
     22 ifeq (3.7.10,$(KERN_VER))
     23 XMC ?= /projects/ntsw-tools/toolchains/xlp/sdk-3.0.2/xlp2xx/sdk-base/buildroot/output/build
     24 else
     25 XMC ?= /projects/ntsw-tools/toolchains/xlp/sdk-3.2.0/xlp2xx/sdk-base/buildroot/output/build
     26 endif
     27 KERNDIR ?= $(XMC)/linux
     28 LINUX_USPACE ?= $(XMC)/linux-userspace
     29 export LINUX_USPACE
     30 KBUILD_OUTPUT=xmc2xx
     31 export KBUILD_OUTPUT
     32 
     33 LD_LIBRARY_PATH = $(XMC)/toolchains_bin/mipscross/linux/mips64-nlm-linux/lib/el
     34 export LD_LIBRARY_PATH
     35 
     36 TOOLCHAINS_DIR=$(XMC)/toolchains_bin
     37 TOOLCHAIN_EXEC_PREFIX=$(XMC)/toolchains_bin/mipscross/linux
     38 TOOLCHAIN_BIN_DIR=$(TOOLCHAIN_EXEC_PREFIX)/bin
     39 TOOLCHAIN_INC_DIR=$(TOOLCHAIN_EXEC_PREFIX)/lib/gcc/mips64-nlm-linux/4.6.3/include
     40 
     41 override PATH := $(TOOLCHAIN_EXEC_PREFIX)/bin:$(TOOLCHAINS_DIR)/mipscross/linux/bin:$(PATH)
     42 export TOOLCHAIN_EXEC_PREFIX TOOLCHAIN_BIN_DIR
     43 
     44 # Default Linux include directory
     45 ifeq (,$(LINUX_INCLUDE))
     46 LINUX_INCLUDE := $(KERNDIR)/include
     47 LINUX_INCLUDE_BUILD := $(KERNDIR)/$(KBUILD_OUTPUT)/include
     48 endif
     49 
     50 CFGFLAGS += -DSYS_BE_PIO=0 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=1
     51 ENDIAN = BE_HOST=1
     52 CFGFLAGS += -D$(ENDIAN) 
     53 CFGFLAGS += -DBCM_PLATFORM_STRING=\"WRX_XLP208\"
     54 CFGFLAGS += -DSAL_BDE_XLP
     55 CFGFLAGS += -DSAL_BDE_DMA_MEM_DEFAULT=32
     56 
     57 # Enable cached DMA memory by default
     58 ifeq (,$(SAL_BDE_USE_CACHED_DMA_MEM))
     59 SAL_BDE_USE_CACHED_DMA_MEM = 1
     60 endif
     61 ifeq ($(SAL_BDE_USE_CACHED_DMA_MEM),1)
     62 CFGFLAGS += -DSAL_BDE_CACHE_DMA_MEM
     63 endif
     64 
     65 # Extra variables.
     66 EXTRA_CFLAGS = -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags)
     67 
     68 ARCH = mips
     69 KBUILD_VERBOSE = 1
     70 
     71 export ARCH KBUILD_VERBOSE 
     72 
     73 # From linux/arch/ppc/Makefile
     74 comma = ,
     75 basetarget = $(basename $(notdir $@))
     76 modname = $(basetarget)
     77 
     78 name-fix = $(subst $(comma),_,$(subst -,_,$1))
     79 basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))"
     80 modname_flags  = $(if $(filter 1,$(words $(modname))),\
     81                  -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")
     82 
     83 
     84 ifeq (,$(WRX_64BIT))
     85 ifeq ($(LINUX_MAKE_SHARED_LIB),1)
     86 CFLAGS += -mabi=n32
     87 EXTRA_LIB_LDFLAGS += ,-melf32btsmipn32
     88 else
     89 CFLAGS += -mabi=32
     90 endif
     91 CFGFLAGS += -DSAL_BDE_32BIT_USER_64BIT_KERNEL
     92 CFGFLAGS += -DSAL_BDE_USE_MMAP2
     93 else
     94 CFLAGS += -mabi=64 -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
     95 #CFGFLAGS += -DSAL_BDE_USE_MMAP64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
     96 #KFLAG_INCLD = $(XMC)/toolchains_bin/mipscross/elf/lib/gcc/mips64-nlm-elf/4.4.5/include
     97 endif
     98 CFLAGS += -DPHYS_ADDRS_ARE_64BITS
     99 
    100 MODULE_LDFLAGS += -m elf64btsmip
    101 
    102 ifdef DPP_CHIPS
    103 CFLAGS += -DDUNE_BCM -D__DUNE_LINUX_BCM_CPU_PCP_DMA__
    104 CFGFLAGS += -DSOC_CM_FUNCTION
    105 endif
    106 
    107 ifdef DFE_CHIPS
    108 CFLAGS += -DDUNE_BCM
    109 CFGFLAGS += -DSOC_CM_FUNCTION
    110 endif
    111 
    112 ifdef SAND_CHIPS
    113 CFLAGS += -D__DUNE_WRX_BCM_CPU__ 
    114 endif
    115 
    116 ifdef SHADOW_PLX
    117 CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE -DSHADOW_SVK
    118 endif
    119 CFLAGS += -Wno-error=unused-value
    120 CFLAGS += -Wno-error=unused-but-set-variable
    121 CFLAGS += -Wno-error=unused-function
    122 CFLAGS += -Wno-error=uninitialized
    123 
    124 ifeq (,$(KFLAGS))
    125 KFLAGS := -march=xlp -mabi=64 -msym32 -fno-pic -G 0 -mno-abicalls -mlong-calls -O2
    126 KFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Wdeclaration-after-statement -Wno-pointer-sign
    127 KFLAGS += -fno-strict-aliasing -fno-common -msoft-float -pipe -funit-at-a-time -fomit-frame-pointer
    128 ifeq (,$(WRX_64BIT))
    129 KFLAGS += -DSAL_BDE_XLP -DSAL_BDE_32BIT_USER_64BIT_KERNEL -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
    130 else
    131 KFLAGS += -DSAL_BDE_XLP -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
    132 endif
    133 KFLAGS += -D__KERNEL__ -nostdinc
    134 
    135 KFLAGS += -isystem $(TOOLCHAIN_INC_DIR)
    136 
    137 KFLAGS += -include $(LINUX_INCLUDE_BUILD)/generated/uapi/linux/version.h
    138 KFLAGS += -include $(LINUX_INCLUDE_BUILD)/generated/autoconf.h
    139 KFLAGS += -include $(LINUX_INCLUDE)/linux/kconfig.h
    140 
    141 KFLAGS += -I$(LINUX_INCLUDE)
    142 KFLAGS += -I$(LINUX_INCLUDE_BUILD)
    143 KFLAGS += -I$(LINUX_INCLUDE_BUILD)/config
    144 KFLAGS += -I$(LINUX_INCLUDE_BUILD)/generated/uapi
    145 KFLAGS += -I$(LINUX_INCLUDE)/uapi
    146 KFLAGS += -I$(LINUX_INCLUDE)/uapi/asm-generic
    147 
    148 KFLAGS += -I$(KERNDIR)/arch/mips
    149 KFLAGS += -I$(KERNDIR)/arch/mips/include
    150 KFLAGS += -I$(KERNDIR)/arch/mips/include/uapi
    151 KFLAGS += -I$(KERNDIR)/arch/mips/include/asm/mach-netlogic
    152 KFLAGS += -I$(KERNDIR)/arch/mips/include/asm/mach-generic
    153 endif
    154 
    155 ifneq ($(targetplat),user)
    156 include ${SDK}/make/Makefile.linux-kernel-2_6
    157 endif