# Copyright (C) 2013-2015 Czech Technical University in Prague # # Authors: # - Carlos Jenkins # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # File : target_tools.mk # Abstract: # Makefile for CCS toolchain support. # # This file set variables to CCS tools to support build for this toolchain. # This file is included by rpp.tmf before declaring the rules for source # code. # # References: # "Include a tool specification settings" comment block in rpp.tmf # Compiler options documentation available in refs/armcl.pdf include $(START_DIR)/slprj/target_paths.mk include $(RPP_LIB_ROOT)/Makefile.config # ARM_COMPILER_DIR is needed by Makefile.rules ARM_COMPILER_DIR = $(COMPILER_ROOT) include $(RPP_LIB_ROOT)/build/Makefile.rules # RPP options RPP_STATIC_LIB = rpp-lib.lib # Options for target source files TARGET_INCS = TARGET_SRCS = # Compiler command and options - use CC and RPP_CFLAGS from Makefile.rules #CC := "$(COMPILER_ROOT)/bin/armcl" CFLAGS = $(RPP_CFLAGS) -O2 # Define when external mode should wait for host connection # CFLAGS += -DON_TARGET_WAIT_FOR_START CFLAGS += $(EXT_CC_OPTS) CFLAGS += $(OPTS) CDEBUG = -g CCOUTPUTFLAG = --output_file= CXX = CXXFLAGS = CXXDEBUG = # Linker command and options LD = $(CC) LDFLAGS = $(TARGET_CFLAGS) \ -O2 --diag_warning=225 --display_error_number \ --enum_type=packed --run_linker -m"$(MODEL).map" $(TARGET_LDFLAGS) \ --diag_wrap=on --stack_size=$(RPP_STACK_SIZE) \ --heap_size=$(RPP_HEAP_SIZE) --reread_libs --warn_sections \ --display_error_number --rom_model \ --search_path="$(RPP_LIB_ROOT)" \ --library="$(RPP_STATIC_LIB)" \ --retain="$(RPP_STATIC_LIB)(.intvecs)" \ --search_path="$(COMPILER_ROOT)/lib" \ $(TARGET_LDLIBS) \ "$(RPP_LIB_ROOT)/build/$(TARGET)/$(TARGET_LDCMD)" \ --generate_dead_funcs_list=$(MODEL)-deadfuncs.xml LDDEBUG = -g LDOUTPUTFLAG = --output_file= # Archiver command and options AR = "$(COMPILER_ROOT)/bin/armar" ARFLAGS = -r # Binary file format converter command and options ifeq ($(OS),Windows_NT) OBJCOPY = copy else OBJCOPY = cp endif OBJCOPYFLAGS = # Specify the output extension from compiler OBJ_EXT = .obj # Specify extension from linker PROGRAM_FILE_EXT = .o # Specify extension for final product at end of build EXE_FILE_EXT = .out