Makefile.linux-iproc_be-3_6 (4204B)
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 # Makefile for iproc-CMICd BE 6 7 # User must select one platform from below.By default ARM_LINUX is selected. . 8 ifeq (,$(BUILD_PLATFORM)) 9 BUILD_PLATFORM=ARM_LINUX 10 endif 11 12 # TOOLCHAIN_BASE_DIR Toolchain base directory for iPROC-CMICd devices 13 # TARGET_ARCHITECTURE Compiler for target architecture 14 # KERNDIR Kernel directory for iPROC-CMICd devices 15 ifeq (BE,$(ENDIAN_MODE)) 16 TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/ldk36-be/buildroot-2013.11-gcc48-opt-broadcom 17 TARGET_ARCHITECTURE:=armeb-buildroot-linux-gnueabi 18 KERNDIR ?= /projects/ntsw-tools/linux/iproc_ldks/ldk36-be/iproc/kernel/linux-custom 19 else 20 TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/iproc_ldks/ldk36/iproc 21 TARGET_ARCHITECTURE:= arm-broadcom-linux-uclibcgnueabi 22 KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/linux-custom 23 endif 24 25 26 ifeq (,$(CROSS_COMPILE)) 27 CROSS_COMPILE:= $(TARGET_ARCHITECTURE)- 28 endif 29 30 # arm9tools 31 ifeq (BE,$(ENDIAN_MODE)) 32 TOOLCHAIN_BIN_DIR=$(TOOLCHAIN_BASE_DIR)/host/usr/bin 33 override PATH:=$(TOOLCHAIN_BASE_DIR)/host/usr/$(TARGET_ARCHITECTURE)/bin:$(TOOLCHAIN_BIN_DIR):$(PATH) 34 LD_LIBRARY_PATH=$(TOOLCHAIN_BASE_DIR)/host/usr/lib 35 else 36 TOOLCHAIN_BIN_DIR=$(TOOLCHAIN_BASE_DIR)/buildroot/usr/bin 37 override PATH:=$(TOOLCHAIN_BASE_DIR)/buildroot/usr/$(TARGET_ARCHITECTURE)/bin:$(TOOLCHAIN_BIN_DIR):$(PATH) 38 LD_LIBRARY_PATH=$(TOOLCHAIN_BASE_DIR)/buildroot/usr/lib 39 endif 40 41 export TOOLCHAIN_BIN_DIR LD_LIBRARY_PATH 42 43 # Default Linux include directory 44 ifeq (,$(LINUX_INCLUDE)) 45 LINUX_INCLUDE := $(KERNDIR)/include 46 endif 47 48 ifeq (BE,$(ENDIAN_MODE)) 49 CFGFLAGS += -DSYS_BE_PIO=1 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=1 50 ENDIAN = BE_HOST=1 51 else 52 CFGFLAGS += -DSYS_BE_PIO=0 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=0 53 ENDIAN = LE_HOST=1 54 endif 55 56 CFGFLAGS += -D$(ENDIAN) -DIPROC_CMICD 57 CFGFLAGS += -DBCM_PLATFORM_STRING=\"IPROC_CMICD\" 58 59 ARCH = arm 60 KBUILD_VERBOSE = 1 61 62 export ARCH KBUILD_VERBOSE 63 64 comma = , 65 basetarget = $(basename $(notdir $@)) 66 modname = $(basetarget) 67 68 # Extra variables. 69 EXTRA_CFLAGS = -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags) 70 71 name-fix = $(subst $(comma),_,$(subst -,_,$1)) 72 basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))" 73 modname_flags = $(if $(filter 1,$(words $(modname))),\ 74 -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") 75 76 ifeq (BE,$(ENDIAN_MODE)) 77 KFLAG_INCLD ?= $(TOOLCHAIN_BASE_DIR)/host/usr/lib/gcc/$(TARGET_ARCHITECTURE)/4.8.2/include 78 else 79 KFLAG_INCLD ?= $(TOOLCHAIN_BASE_DIR)/buildroot/usr/lib/gcc/$(TARGET_ARCHITECTURE)/4.7.2/include 80 endif 81 82 ifeq (,$(KFLAGS)) 83 ifeq (,$(KERNBLDDIR)) 84 KFLAGS := -D__LINUX_ARM_ARCH__=7 -D__KERNEL__ -nostdinc -isystem $(KFLAG_INCLD) -I$(LINUX_INCLUDE) -include $(LINUX_INCLUDE)/linux/version.h -include $(LINUX_INCLUDE)/generated/autoconf.h -I$(KERNDIR)/arch/arm/include -I$(KERNDIR)/arch/arm/include/generated -I$(KERNDIR)/arch/arm/mach-northstar/include -I$(KERNDIR)/arch/arm/plat-iproc/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -marm -mabi=aapcs-linux -fno-pic -pipe -msoft-float -ffreestanding -march=armv7-a -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -mlong-calls 85 else 86 # kernel was built in separate directory 87 KFLAGS := -D__LINUX_ARM_ARCH__=7 -D__KERNEL__ -nostdinc -isystem $(KFLAG_INCLD) -I$(LINUX_INCLUDE) -I$(KERNBLDDIR)/include -include $(KERNBLDDIR)/include/linux/version.h -include $(KERNBLDDIR)/include/generated/autoconf.h -I$(KERNDIR)/arch/arm/include -I$(KERNBLDDIR)/arch/arm/include/generated -I$(KERNDIR)/arch/arm/mach-northstar/include -I$(KERNDIR)/arch/arm/plat-iproc/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -marm -mabi=aapcs-linux -fno-pic -pipe -msoft-float -ffreestanding -march=armv7-a -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -mlong-calls 88 endif 89 endif 90 91 ifneq ($(targetplat),user) 92 include ${SDK}/make/Makefile.linux-kernel-3_6 93 endif