]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blob - rpp/rpp/target_tools.mk
Improved documentation on the RPP Target library.
[jenkicar/rpp-simulink.git] / rpp / rpp / target_tools.mk
1 # Copyright (C) 2013 Czech Technical University in Prague
2 #
3 # Authors:
4 #     - Carlos Jenkins <carlos@jenkins.co.cr>
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 #
19 # File : target_tools.mk
20 # Abstract:
21 #     Makefile for CCS toolchain support.
22 #
23 #     This file set variables to CCS tools to support build for this toolchain.
24 #     This file is included by rpp.tmf before declaring the rules for source
25 #     code.
26 #
27 # References:
28 #     "Include a tool specification settings" comment block in rpp.tmf
29 #      Compiler options documentation available in armcl.pdf
30
31
32 include $(START_DIR)/slprj/target_paths.mk
33
34 # Options for target source files
35 TARGET_INCS      =
36 TARGET_SRCS      =
37
38 # Compiler command and options
39 CC      = "$(COMPILER_ROOT)/bin/armcl"
40 CFLAGS  = -mv7R4 --code_state=32 --float_support=VFPv3D16 \
41           --abi=eabi --compile_only -O2 --gcc --diag_wrap=on \
42           --diag_warning=225 --display_error_number --enum_type=packed \
43           --include_path="$(COMPILER_ROOT)/include" \
44           --include_path="$(RPP_LIB_ROOT)/rpp/include"
45
46 CFLAGS          += $(OPTS)
47 CDEBUG           = -g
48 CCOUTPUTFLAG     = --output_file=
49
50 CXX              =
51 CXXFLAGS         =
52 CXXDEBUG         =
53
54 # Linker command and options
55 LD      = $(CC)
56 LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi \
57           -O2 --diag_warning=225 --display_error_number --enum_type=packed \
58           --run_linker -m"$(MODEL).map" --be32 --diag_wrap=on \
59           --stack_size=$(RPP_STACK_SIZE) --heap_size=$(RPP_HEAP_SIZE) \
60           --reread_libs --warn_sections --display_error_number --rom_model \
61           -i"$(COMPILER_ROOT)/lib" -i"$(COMPILER_ROOT)/include" \
62           --library=rtsv7R4_T_be_v3D16_eabi.lib \
63           "$(RPP_LIB_ROOT)/TMS570LS313xFlashLnk.cmd"
64
65 LDDEBUG          = -g
66 LDOUTPUTFLAG     = --output_file=
67
68 # Archiver command and options
69 AR               = "$(COMPILER_ROOT)/bin/armar"
70 ARFLAGS          = -r
71
72 # Binary file format converter command and options
73 OBJCOPY          = cp
74 OBJCOPYFLAGS     =
75
76 # Specify the output extension from compiler
77 OBJ_EXT          = .obj
78
79 # Specify extension from linker
80 PROGRAM_FILE_EXT = .o
81
82 # Specify extension for final product at end of build
83 EXE_FILE_EXT     = .out
84