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-gto (3031B)


      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.
      7 ifeq (,$(BUILD_PLATFORM))
      8 BUILD_PLATFORM=POWERPC_LINUX
      9 endif
     10 
     11 # TOOLCHAIN_BASE_DIR    Toolchain base directory for GTO devices
     12 # TARGET_ARCHITECTURE   Compiler for target architecture
     13 # KERNDIR               Kernel directory for iPROC-CMICd devices
     14 TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/gto
     15 TARGET_ARCHITECTURE := powerpc-broadcom-linux-gnuspe
     16 KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/current
     17 
     18 
     19 ifeq (,$(CROSS_COMPILE))
     20 CROSS_COMPILE := $(TARGET_ARCHITECTURE)-
     21 endif
     22 
     23 
     24 # GTO toolchain
     25 TOOLCHAIN_BIN_DIR := $(TOOLCHAIN_BASE_DIR)/toolchain/host/usr/bin
     26 override PATH := $(TOOLCHAIN_BIN_DIR)/../$(TARGET_ARCHITECTURE)/bin:$(TOOLCHAIN_BIN_DIR):$(PATH)
     27 export TOOLCHAIN_BIN_DIR
     28 
     29 
     30 # Default Linux include directory
     31 ifeq (,$(LINUX_INCLUDE))
     32 LINUX_INCLUDE := $(KERNDIR)/include
     33 endif
     34 
     35 CFGFLAGS += -DSYS_BE_PIO=1 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=1
     36 ENDIAN = BE_HOST=1
     37 CFGFLAGS += -D$(ENDIAN) 
     38 CFGFLAGS += -DBCM_PLATFORM_STRING=\"GTO_MPC8548\"
     39 CFGFLAGS += -DSAL_BDE_DMA_MEM_DEFAULT=32
     40 
     41 # Extra variables.
     42 EXTRA_CFLAGS = -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags)
     43 
     44 ARCH = powerpc
     45 KBUILD_VERBOSE = 1
     46 
     47 export ARCH KBUILD_VERBOSE 
     48 
     49 
     50 # From linux/arch/ppc/Makefile
     51 comma = ,
     52 basetarget = $(basename $(notdir $@))
     53 modname = $(basetarget)
     54 
     55 name-fix = $(subst $(comma),_,$(subst -,_,$1))
     56 basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))"
     57 modname_flags  = $(if $(filter 1,$(words $(modname))),\
     58                  -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")
     59 
     60 KFLAG_INCLD = $(TOOLCHAIN_BIN_DIR)/../lib/gcc/$(TARGET_ARCHITECTURE)/4.6.4/include
     61 
     62 ifdef BROADCOM_SVK
     63 ifeq ($PLX_PCI2LBUS, 1)
     64 CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE 
     65 endif
     66 endif
     67 
     68 ifdef DPP_CHIPS
     69 CFLAGS += -DDUNE_BCM -D__DUNE_LINUX_BCM_CPU_PCP_DMA__
     70 CFGFLAGS += -DSOC_CM_FUNCTION
     71 endif
     72 
     73 ifdef DFE_CHIPS
     74 CFLAGS += -DDUNE_BCM
     75 CFGFLAGS += -DSOC_CM_FUNCTION
     76 endif
     77 
     78 ifdef SAND_CHIPS
     79 CFLAGS += -D__DUNE_GTO_BCM_CPU__ -D__DUNE_LINUX_BCM_CPU_PCIE__
     80 endif
     81 
     82 ifdef SHADOW_PLX
     83 CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE -DSHADOW_SVK
     84 endif
     85 
     86 ifeq (,$(KFLAGS))
     87 KFLAGS := -D__KERNEL__ -m32 -nostdinc -isystem $(KFLAG_INCLD) -I$(LINUX_INCLUDE) -include $(LINUX_INCLUDE)/generated/uapi/linux/version.h -include $(LINUX_INCLUDE)/generated/autoconf.h -I$(KERNDIR)/arch/powerpc -I$(KERNDIR)/arch/powerpc/include -I$(KERNDIR)/include/asm-powerpc -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -funit-at-a-time -Wa,-me500 -fomit-frame-pointer  -Wdeclaration-after-statement -Wno-pointer-sign
     88 endif
     89 
     90 ifneq (,$(findstring TCL,$(FEATURE_LIST)))
     91 #LINK_STATIC = 0
     92 #export LINK_STATIC
     93 endif
     94 
     95 ifneq ($(targetplat),user)
     96 include ${SDK}/make/Makefile.linux-kernel-4_4
     97 endif
     98