nt9856x/loader/MakeCommon/MakeOption.txt

299 lines
11 KiB
Plaintext
Executable File

ifeq "$(OPTION_LOADED)" ""
#----------------------------------------------------------------------
# Set option file loaded
#----------------------------------------------------------------------
export OPTION_LOADED := TRUE
#----------------------------------------------------------------------
# Set the target CPU architecture
#
# ARM : ARM CPU
# MIPS : MIPS CPU (24KEc)
#----------------------------------------------------------------------
export ARCH := ARM
#export ARCH := MIPS
#----------------------------------------------------------------------
# Set the toolchain
#
# ARM : ARM ADS, RealView
# GNU : GNU C, ASM and linker
#----------------------------------------------------------------------
#export TOOLCHAIN := ARM
export TOOLCHAIN := GNU
#----------------------------------------------------------------------
# Set the floating point
#
# SW/HW : soft or hard float point unit
#----------------------------------------------------------------------
#export FPU := hard
export FPU := soft
#----------------------------------------------------------------------
# Set the CPU type
#
# cortex-a9 or a53
#----------------------------------------------------------------------
export CPU := cortex-a9
#export CPU := cortex-a53
#----------------------------------------------------------------------
# Set branched project code
#
# The project code must be 4 characters, please refer to
# http://mynvt.novatek.com.tw/deptsites/IM/Shared%20Documents/VersionControl.doc
# for more detailed information.
# Leaves this variable empty if not branched yet.
#----------------------------------------------------------------------
export _BRANCH_PROJECT_ :=
#----------------------------------------------------------------------
# PClint parameters
#----------------------------------------------------------------------
export PCLINT_PARAMETER := -b -v
#----------------------------------------------------------------------
# Set log file option
#
# ON : Save warning/error message to log files (Win32 Default)
# OFF : Just output warning/error message to stdout (Linux Default)
#----------------------------------------------------------------------
ifeq "$(shell uname)" "Linux"
export LOG_ERR := OFF
else
export LOG_ERR := ON
endif
#----------------------------------------------------------------------
# Set clean log file option
#
# ON : Clean log files before make
# OFF : Don't clean log files before make
# (You should execute "make clean" to clean the log files)
#----------------------------------------------------------------------
export CLEAN_LOG := ON
#export CLEAN_LOG := OFF
#----------------------------------------------------------------------
# Keep going when encounter error or not
#
# ON : Make will keep going when encounter error
# OFF : Make will stop when encounter error
#----------------------------------------------------------------------
#export KEEP_GOING := ON
export KEEP_GOING := OFF
#----------------------------------------------------------------------
# Isolate creating dependency files process
#
# ON : You have to run "make dep" to create dependency files
# OFF : dependency file will be created when making the file
#----------------------------------------------------------------------
export ISOLATE_DEP := ON
#export ISOLATE_DEP := OFF
#----------------------------------------------------------------------
# Generate debug symbol in release target
# Release target won't generate debug symbol by default, if you want to
# generate debug symbol in release target, please turn on this option
#
# ON : Generate debug symbol in release target
# OFF : Don't generate debug symbol in release target (default value)
#----------------------------------------------------------------------
#export RELEASE_SYMBOL := ON
export RELEASE_SYMBOL := OFF
#----------------------------------------------------------------------
# Generate debug callback of entry and exit to functions
# Only support on MIPS (This is GCC Extension)
# Reference: http://blog.linux.org.tw/~jserv/archives/001870.html
#
# ON : Generate debug callback
# OFF : Don't generate debug callback (default value)
#----------------------------------------------------------------------
#export INSTRUMENT_FUNCTION := ON
export INSTRUMENT_FUNCTION := OFF
#----------------------------------------------------------------------
# Generate one ELF section for each function
# Compiler will generate one ELF section for one .c file by default.
# If the .c file contains lots of function that are unused, turn on
# this function can reduce code size.
# (Linker will remove unused section by default)
# Valid only in release target
#
# ON : One ELF section for each function
# OFF : One ELF section for each .c file (default value of ADS/GNU C compiler)
#----------------------------------------------------------------------
export SECTION_BY_FUNC := ON
#export SECTION_BY_FUNC := OFF
#----------------------------------------------------------------------
# Copy bin file to storage after bin file is created
# You have to set an environment variable named "NVT_STG_PATH" (without
# quote) to work with this function.
# Example: set "NVT_STG_PATH" to "H:/" (without quote).
#
# ON : Copy bin file to storage after bin file is created
# OFF : Don't copy bin file to storage after bin file is created
#----------------------------------------------------------------------
export COPY_BIN_2_STG := ON
#export COPY_BIN_2_STG := OFF
#----------------------------------------------------------------------
# Select emulation or design-in (Release code) environment
#
# ON : Emulation environment
# OFF : Design-in environment
#----------------------------------------------------------------------
#export EMULATION := ON
export EMULATION := OFF
#----------------------------------------------------------------------
# Select FPGA or Realchip platform for emulation.
# Valid only when EMULATION is ON
#
# ON : FPGA platform
# OFF : Realchip platform
#----------------------------------------------------------------------
#export FPGA_EMULATION := ON
export FPGA_EMULATION := OFF
#----------------------------------------------------------------------
# Set PLL OSC frequency for FPGA EMULATION
# Valid only when FPGA_EMULATION is ON
#
# For example, you should set it to 27000000 if your FPGA is connected
# with a 27 MHz OSC.
#----------------------------------------------------------------------
export FPGA_PLL_OSC := 24000000
#----------------------------------------------------------------------
# Set INCLUDE RULE
#
# ON : Enable include rule checking of platform
# OFF : Disable include rule checking of platform
#----------------------------------------------------------------------
export INCLUDE_RULE := ON
#export INCLUDE_RULE := OFF
#----------------------------------------------------------------------
# Use eCos kernel or uITRON kernel
#
# ON : Use eCos kernel and light weight uITRON kernel compatible wrapper
# OFF : Use light weight uITRON kernel
#----------------------------------------------------------------------
#export USE_ECOS_KERNEL := ON
export USE_ECOS_KERNEL := OFF
#----------------------------------------------------------------------
# PM demo based on customized building way
#
# ON : compile rule depends on _PM_DEMO_ that is informal way.
# OFF : formal way to build code
#----------------------------------------------------------------------
#export PM_DEMO := ON
export PM_DEMO := OFF
#----------------------------------------------------------------------
# Set the dump encrypt binary tool
#
# ARCH := ARM 'Use ARMv4 as target
# ARCH := MIPS 'Use MIPS24Ke as target
#----------------------------------------------------------------------
export ENCRYPT_DUMP := ON
#export ENCRYPT_DUMP := OFF
#----------------------------------------------------------------------
# Use ARM GIC as interrupt controller
#
# ON : Use GIC
# OFF : Use Lagacy interrupt as interrupt controller
#----------------------------------------------------------------------
export ARM_GIC_400 := ON
#export ARM_GIC_400 := OFF
#----------------------------------------------------------------------
# Use ROM public API
#
# ON : Use ROM LZMA etc public API
# OFF : Not use ROM LZMA etc public API
#----------------------------------------------------------------------
#export ROM_PUBLIC_API := OFF
export ROM_PUBLIC_API := ON
#----------------------------------------------------------------------
# Enable 2nd checksum check
#
# ON : After lz uncompress, processing checksum first before jump to
# OFF : Not use checksum.
#----------------------------------------------------------------------
#export PROCESS_2ND_CHECKSUM := ON
export PROCESS_2ND_CHECKSUM := OFF
#----------------------------------------------------------------------
# Set the parameters of GNU toolchain
#----------------------------------------------------------------------
ifeq "$(TOOLCHAIN)" "GNU"
ifeq "$(shell uname)" "Linux"
#CROSS_COMPILE := /opt/arm/gcc-linaro-arm-none-eabi-4.9-2014.09_linux/bin/arm-none-eabi-
CROSS_COMPILE := /opt/gcc-linaro-6.4.1-2018.05-x86_64_arm-eabi/bin/arm-eabi-
TOOLS_DIR = ../../Tools/Bin
TOOLS_SUFFIX =
else
CROSS_COMPILE := arm-eabi-
TOOLS_DIR = ../../Tools/Bin
TOOLS_SUFFIX = .exe
endif
export CC = $(CROSS_COMPILE)gcc
export AS = $(CROSS_COMPILE)as
export LD = $(CROSS_COMPILE)ld
export AR = $(CROSS_COMPILE)ar
export OBJDUMP = $(CROSS_COMPILE)objdump
export FE = $(CROSS_COMPILE)objcopy
export NM = $(CROSS_COMPILE)nm
export LT = "C:/lint/lint-nt.exe"
export GCC = $(CROSS_COMPILE)gcc
export CXX = $(CROSS_COMPILE)g++
export EBIN = $(TOOLS_DIR)/encrypt_bin$(TOOLS_SUFFIX)
export BFC = $(TOOLS_DIR)/bfc$(TOOLS_SUFFIX)
export LDNVT = $(TOOLS_DIR)/nvt-ld-op$(TOOLS_SUFFIX)
export EBIN = $(TOOLS_DIR)/encrypt_boot_dump$(TOOLS_SUFFIX)
export CFGRAM = $(TOOLS_DIR)/Configram560$(TOOLS_SUFFIX)
export ARMINC_DIR :=
endif
#----------------------------------------------------------------------
# Set make flags
#
# Note: Don't modify this if you didn't add new option
#----------------------------------------------------------------------
# Slient mode
MAKEFLAGS := s
# Keep going or not
ifeq "$(KEEP_GOING)" "ON"
MAKEFLAGS := $(MAKEFLAGS)k
endif
#----------------------------------------------------------------------
# OS Type and Number of CPUs
#----------------------------------------------------------------------
NPROCS=1
export OS:=$(shell uname -s)
ifeq ($(OS),Linux)
NPROCS:=$(shell grep -c ^processor /proc/cpuinfo)
endif
ifeq ($(findstring CYGWIN_NT,$(OS)),CYGWIN_NT)
NPROCS:=$(NUMBER_OF_PROCESSORS)
endif
export JOB_FLAGS:= -j$(NPROCS)
endif