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