]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blob - rpp/rpp/target_tools.mk
Add external mode support
[jenkicar/rpp-simulink.git] / rpp / rpp / target_tools.mk
1 # Copyright (C) 2013-2014 Czech Technical University in Prague
2 #
3 # Authors:
4 #     - Carlos Jenkins <carlos@jenkins.co.cr>
5 #
6 # This document contains proprietary information belonging to Czech
7 # Technical University in Prague. Passing on and copying of this
8 # document, and communication of its contents is not permitted
9 # without prior written authorization.
10 #
11 # File : target_tools.mk
12 # Abstract:
13 #     Makefile for CCS toolchain support.
14 #
15 #     This file set variables to CCS tools to support build for this toolchain.
16 #     This file is included by rpp.tmf before declaring the rules for source
17 #     code.
18 #
19 # References:
20 #     "Include a tool specification settings" comment block in rpp.tmf
21 #      Compiler options documentation available in refs/armcl.pdf
22
23
24 include $(START_DIR)/slprj/target_paths.mk
25
26 # RPP options
27 RPP_STATIC_LIB   = "rpp-lib.lib"
28 RPP_OS_LAYER_INC = $(RPP_LIB_ROOT)/os/7.0.2_tms570/include/
29
30 # Options for target source files
31 TARGET_INCS      =
32 TARGET_SRCS      =
33
34 # Compiler command and options
35 CC      = "$(COMPILER_ROOT)/bin/armcl"
36 CFLAGS  = -mv7R4 --code_state=32 --float_support=VFPv3D16 \
37           --abi=eabi --compile_only -O2 --gcc --diag_wrap=on \
38           --diag_warning=225 --display_error_number --enum_type=packed \
39           --include_path="$(RPP_LIB_ROOT)/rpp/include" \
40           --include_path="$(RPP_LIB_ROOT)/lwip/src/include" \
41           --include_path="$(RPP_LIB_ROOT)/lwip/src/include/ipv4" \
42           --include_path="$(RPP_LIB_ROOT)/lwip/src/include/ipv6" \
43           --include_path="$(RPP_OS_LAYER_INC)" \
44           --include_path="$(COMPILER_ROOT)/include"
45
46 # Define when external mode should wait for host connection
47 # CFLAGS += -DON_TARGET_WAIT_FOR_START
48
49 CFLAGS          += $(EXT_CC_OPTS)
50 CFLAGS          += $(OPTS)
51 CDEBUG           = -g
52 CCOUTPUTFLAG     = --output_file=
53
54 CXX              =
55 CXXFLAGS         =
56 CXXDEBUG         =
57
58 # Linker command and options
59 LD      = $(CC)
60 LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi \
61           -O2 --diag_warning=225 --display_error_number --enum_type=packed \
62           --run_linker -m"$(MODEL).map" --be32 --diag_wrap=on \
63           --stack_size=$(RPP_STACK_SIZE) --heap_size=$(RPP_HEAP_SIZE) \
64           --reread_libs --warn_sections --display_error_number --rom_model \
65           --search_path="$(RPP_LIB_ROOT)" \
66           --library="$(RPP_STATIC_LIB)" \
67           --retain="$(RPP_STATIC_LIB)<sys_intvecs.obj>(.intvecs)" \
68           --search_path="$(COMPILER_ROOT)/lib" \
69           --library="rtsv7R4_T_be_v3D16_eabi.lib" \
70           "$(RPP_LIB_ROOT)/rpp/TMS570LS313xFlashLnk.cmd" \
71                   --generate_dead_funcs_list=$(MODEL)-deadfuncs.xml
72
73 LDDEBUG          = -g
74 LDOUTPUTFLAG     = --output_file=
75
76 # Archiver command and options
77 AR               = "$(COMPILER_ROOT)/bin/armar"
78 ARFLAGS          = -r
79
80 # Binary file format converter command and options
81 OBJCOPY          = cp
82 OBJCOPYFLAGS     =
83
84 # Specify the output extension from compiler
85 OBJ_EXT          = .obj
86
87 # Specify extension from linker
88 PROGRAM_FILE_EXT = .o
89
90 # Specify extension for final product at end of build
91 EXE_FILE_EXT     = .out