]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blobdiff - rpp/rpp/target_tools.mk
Change license to MIT
[jenkicar/rpp-simulink.git] / rpp / rpp / target_tools.mk
index 0ba81e16276b4ae91893e07f42089f4082352155..314436dbd81cff993f2b27bd6913bde973eab3e6 100644 (file)
@@ -1,20 +1,28 @@
-# Copyright (C) 2013 Czech Technical University in Prague
+# Copyright (C) 2013-2015 Czech Technical University in Prague
 #
 # Authors:
 #     - Carlos Jenkins <carlos@jenkins.co.cr>
 #
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# 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:
 
 
 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"
-RPP_OS_LAYER_INC = "$(RPP_LIB_ROOT)/os/7.0.2_tms570/include/"
-RPP_RPP_LAYER_INC= "$(RPP_LIB_ROOT)/rpp/include"
+RPP_STATIC_LIB   = rpp-lib.lib
 
 # Options for target source files
 TARGET_INCS      =
 TARGET_SRCS      =
 
-# Compiler command and options
-CC      = "$(COMPILER_ROOT)/bin/armcl"
-CFLAGS  = -mv7R4 --code_state=32 --float_support=VFPv3D16 \
-          --abi=eabi --compile_only -O2 --gcc --diag_wrap=on \
-          --diag_warning=225 --display_error_number --enum_type=packed \
-          --include_path="$(RPP_RPP_LAYER_INC)" \
-          --include_path="$(RPP_OS_LAYER_INC)" \
-          --include_path="$(COMPILER_ROOT)/include"
+# 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=
@@ -59,17 +69,19 @@ CXXDEBUG         =
 
 # Linker command and options
 LD      = $(CC)
-LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi \
-          -O2 --diag_warning=225 --display_error_number --enum_type=packed \
-          --run_linker -m"$(MODEL).map" --be32 --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)<sys_intvecs.obj>(.intvecs)" \
-          --search_path="$(COMPILER_ROOT)/lib" \
-          --library="rtsv7R4_T_be_v3D16_eabi.lib" \
-          "$(RPP_LIB_ROOT)/rpp/TMS570LS313xFlashLnk.cmd"
+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)<sys_intvecs.obj>(.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=
@@ -79,7 +91,11 @@ 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
@@ -90,4 +106,3 @@ PROGRAM_FILE_EXT = .o
 
 # Specify extension for final product at end of build
 EXE_FILE_EXT     = .out
-