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