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