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-gtr-3_7 (4534B)


      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/xlp3xx/sdk-base/buildroot/output/build
     24 else
     25 XMC ?= /projects/ntsw-tools/toolchains/xlp/sdk-3.2.0/xlp3xx/sdk-base/buildroot/output/build
     26 endif
     27 
     28 KERNDIR ?= $(XMC)/linux
     29 LINUX_USPACE ?= $(XMC)/linux-userspace
     30 export LINUX_USPACE
     31 KBUILD_OUTPUT=xmc3xx
     32 export KBUILD_OUTPUT
     33 
     34 LD_LIBRARY_PATH = $(XMC)/toolchains_bin/mipscross/linux/mips64-nlm-linux/lib/el
     35 export LD_LIBRARY_PATH
     36 
     37 TOOLCHAINS_DIR=$(XMC)/toolchains_bin
     38 TOOLCHAIN_EXEC_PREFIX=$(XMC)/toolchains_bin/mipscross/linux
     39 TOOLCHAIN_BIN_DIR=$(TOOLCHAIN_EXEC_PREFIX)/bin
     40 TOOLCHAIN_INC_DIR=$(TOOLCHAIN_EXEC_PREFIX)/lib/gcc/mips64-nlm-linux/4.6.3/include
     41 
     42 override PATH := $(TOOLCHAIN_EXEC_PREFIX)/bin:$(TOOLCHAINS_DIR)/mipscross/linux/bin:$(PATH)
     43 export TOOLCHAIN_EXEC_PREFIX TOOLCHAIN_BIN_DIR
     44 
     45 # Default Linux include directory
     46 ifeq (,$(LINUX_INCLUDE))
     47 LINUX_INCLUDE := $(KERNDIR)/include
     48 LINUX_INCLUDE_BUILD := $(KERNDIR)/$(KBUILD_OUTPUT)/include
     49 endif
     50 
     51 CFGFLAGS += -DSYS_BE_PIO=0 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=1
     52 ENDIAN = BE_HOST=1
     53 CFGFLAGS += -D$(ENDIAN) 
     54 CFGFLAGS += -DBCM_PLATFORM_STRING=\"GTR_XLP316\"
     55 CFGFLAGS += -DSAL_BDE_XLP
     56 CFGFLAGS += -DSAL_BDE_DMA_MEM_DEFAULT=16
     57 
     58 # Enable cached DMA memory by default
     59 ifeq (,$(SAL_BDE_USE_CACHED_DMA_MEM))
     60 SAL_BDE_USE_CACHED_DMA_MEM = 1
     61 endif
     62 ifeq ($(SAL_BDE_USE_CACHED_DMA_MEM),1)
     63 CFGFLAGS += -DSAL_BDE_CACHE_DMA_MEM
     64 endif
     65 
     66 # Extra variables.
     67 EXTRA_CFLAGS = -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags)
     68 
     69 ARCH = mips
     70 KBUILD_VERBOSE = 1
     71 
     72 export ARCH KBUILD_VERBOSE 
     73 
     74 # From linux/arch/ppc/Makefile
     75 comma = ,
     76 basetarget = $(basename $(notdir $@))
     77 modname = $(basetarget)
     78 
     79 name-fix = $(subst $(comma),_,$(subst -,_,$1))
     80 basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))"
     81 modname_flags  = $(if $(filter 1,$(words $(modname))),\
     82                  -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")
     83 
     84 
     85 ifeq (,$(GTR_64BIT))
     86 CFLAGS += -mabi=32
     87 CFGFLAGS += -DSAL_BDE_32BIT_USER_64BIT_KERNEL
     88 CFGFLAGS += -DSAL_BDE_USE_MMAP2
     89 else
     90 CFLAGS += -mabi=64 -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
     91 #CFGFLAGS += -DSAL_BDE_USE_MMAP64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
     92 #KFLAG_INCLD = $(XMC)/toolchains_bin/mipscross/elf/lib/gcc/mips64-nlm-elf/4.4.5/include
     93 endif
     94 CFLAGS += -DPHYS_ADDRS_ARE_64BITS
     95 
     96 MODULE_LDFLAGS += -m elf64btsmip
     97 
     98 ifdef DPP_CHIPS
     99 CFLAGS += -DDUNE_BCM -D__DUNE_LINUX_BCM_CPU_PCP_DMA__
    100 CFGFLAGS += -DSOC_CM_FUNCTION
    101 endif
    102 
    103 ifdef DFE_CHIPS
    104 CFLAGS += -DDUNE_BCM
    105 CFGFLAGS += -DSOC_CM_FUNCTION
    106 endif
    107 
    108 ifdef SAND_CHIPS
    109 CFLAGS += -D__DUNE_GTR_BCM_CPU__ -D__DUNE_LINUX_BCM_CPU_PCIE__
    110 endif
    111 
    112 ifdef SHADOW_PLX
    113 CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE -DSHADOW_SVK
    114 endif
    115 
    116 ifeq (,$(KFLAGS))
    117 KFLAGS := -march=xlp -mabi=64 -msym32 -fno-pic -G 0 -mno-abicalls -mlong-calls -O2
    118 KFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Wdeclaration-after-statement -Wno-pointer-sign
    119 KFLAGS += -fno-strict-aliasing -fno-common -msoft-float -pipe -funit-at-a-time -fomit-frame-pointer
    120 ifeq (,$(GTR_64BIT))
    121 KFLAGS += -DSAL_BDE_XLP -DSAL_BDE_32BIT_USER_64BIT_KERNEL -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
    122 else
    123 KFLAGS += -DSAL_BDE_XLP -DPTRS_ARE_64BITS -DLONGS_ARE_64BITS
    124 endif
    125 KFLAGS += -D__KERNEL__ -nostdinc
    126 
    127 KFLAGS += -isystem $(TOOLCHAIN_INC_DIR)
    128 
    129 KFLAGS += -include $(LINUX_INCLUDE_BUILD)/generated/uapi/linux/version.h
    130 KFLAGS += -include $(LINUX_INCLUDE_BUILD)/generated/autoconf.h
    131 KFLAGS += -include $(LINUX_INCLUDE)/linux/kconfig.h
    132 
    133 KFLAGS += -I$(LINUX_INCLUDE)
    134 KFLAGS += -I$(LINUX_INCLUDE_BUILD)
    135 KFLAGS += -I$(LINUX_INCLUDE_BUILD)/config
    136 KFLAGS += -I$(LINUX_INCLUDE_BUILD)/generated/uapi
    137 KFLAGS += -I$(LINUX_INCLUDE)/uapi
    138 KFLAGS += -I$(LINUX_INCLUDE)/uapi/asm-generic
    139 
    140 KFLAGS += -I$(KERNDIR)/arch/mips
    141 KFLAGS += -I$(KERNDIR)/arch/mips/include
    142 KFLAGS += -I$(KERNDIR)/arch/mips/include/uapi
    143 KFLAGS += -I$(KERNDIR)/arch/mips/include/asm/mach-netlogic
    144 KFLAGS += -I$(KERNDIR)/arch/mips/include/asm/mach-generic
    145 endif
    146 
    147 ifneq ($(targetplat),user)
    148 include ${SDK}/make/Makefile.linux-kernel-2_6
    149 endif