1
|
#
|
2
|
# Copyright (c) 2008-2012, Texas Instruments Incorporated
|
3
|
#
|
4
|
# Redistribution and use in source and binary forms, with or without
|
5
|
# modification, are permitted provided that the following conditions
|
6
|
# are met:
|
7
|
#
|
8
|
# * Redistributions of source code must retain the above copyright
|
9
|
# notice, this list of conditions and the following disclaimer.
|
10
|
#
|
11
|
# * Redistributions in binary form must reproduce the above copyright
|
12
|
# notice, this list of conditions and the following disclaimer in the
|
13
|
# documentation and/or other materials provided with the distribution.
|
14
|
#
|
15
|
# * Neither the name of Texas Instruments Incorporated nor the names of
|
16
|
# its contributors may be used to endorse or promote products derived
|
17
|
# from this software without specific prior written permission.
|
18
|
#
|
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
20
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
21
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
22
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
23
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
24
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
25
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
26
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
27
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
28
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
29
|
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
#
|
31
|
|
32
|
|
33
|
SYSLINK_INSTALL_DIR = $(CURDIR)
|
34
|
|
35
|
# List of supported devices (choose one): OMAP3530, OMAPL1XX, TI816X, TI814X
|
36
|
# TI813X, TI811X
|
37
|
#
|
38
|
DEVICE = OMAPL1XX
|
39
|
|
40
|
# Master core (GPP) OS type (choose one): Linux, Qnx, Bios
|
41
|
#
|
42
|
GPPOS = Linux
|
43
|
|
44
|
# SysLink Linux driver DEBUG/TRACE options (choose one): 0 or 1
|
45
|
#
|
46
|
# Note that these options are only used by the Linux HLOS driver. RTOS
|
47
|
# side libraries, Qnx libraries, and user mode Linux libraries are always
|
48
|
# built in both debug and release profiles, and users can switch between
|
49
|
# them when linking their executable (without rebuilding SysLink).
|
50
|
#
|
51
|
# Enabling SYSLINK_BUILD_DEBUG enables runtime assertion checking and makes
|
52
|
# some internal 'static' methods and objects global (so you can set
|
53
|
# breakpoints on them and/or inspect them in a debugger).
|
54
|
#
|
55
|
# Enabling SYSLINK_TRACE_ENABLE enables tracing throughout the SysLink
|
56
|
# code base. This is especially helpful during development, but may not
|
57
|
# be necessary at production.
|
58
|
#
|
59
|
SYSLINK_BUILD_DEBUG=1
|
60
|
SYSLINK_TRACE_ENABLE=1
|
61
|
|
62
|
# SysLink OPTIMIZE option (choose one): 0 or 1
|
63
|
#
|
64
|
# Enabling SYSLINK_BUILD_OPTIMIZE removes many runtime API checks. As a
|
65
|
# result, if the user uses SysLink in an unsupported way, rather than getting
|
66
|
# a failing return value, the system may crash or become unstable.
|
67
|
# SYSLINK_BUILD_OPTIMIZED is intended to be used in a closed system where all
|
68
|
# code paths are known, and error conditions are ensured never to occur - so
|
69
|
# it's not for everyone.
|
70
|
#
|
71
|
# Note that SYSLINK_BUILD_OPTIMIZE removes these checks throughout the
|
72
|
# SysLink stack - that includes RTOS, user, and driver layers if applicable
|
73
|
# to your environment.
|
74
|
#
|
75
|
SYSLINK_BUILD_OPTIMIZE=0
|
76
|
|
77
|
# SysLink HLOS driver Notify options (choose one): NOTIFYDRIVERSHM,
|
78
|
# NOTIFYDRIVERCIRC
|
79
|
#
|
80
|
SYSLINK_NOTIFYDRIVER=NOTIFYDRIVERSHM
|
81
|
|
82
|
# SysLink HLOS driver MessageQ Transport options (choose one): TRANSPORTSHM,
|
83
|
# TRANSPORTSHMNOTIFY, TRANSPORTSHMCIRC
|
84
|
#
|
85
|
SYSLINK_TRANSPORT=TRANSPORTSHM
|
86
|
|
87
|
# Set SDK type when building for a TI SDK kit (choose one): EZSDK or NONE
|
88
|
#
|
89
|
SDK = NONE
|
90
|
|
91
|
# Define root dir to install SysLink driver and samples for target file-system
|
92
|
#
|
93
|
EXEC_DIR = ${HOME}/syslink
|
94
|
|
95
|
# Define file format for loader and slave executables (choose one): COFF, ELF
|
96
|
#
|
97
|
LOADER = ELF
|
98
|
|
99
|
# Optional: recommended to install all dependent components in one folder.
|
100
|
#
|
101
|
DEPOT = /opt/ti
|
102
|
|
103
|
# Define the product variables for the device you will be using.
|
104
|
#
|
105
|
######## For OMAP3530 device ########
|
106
|
ifeq ("$(DEVICE)","OMAP3530")
|
107
|
LINUXKERNEL = $(DEPOT)/_your_linux_kernel_install_
|
108
|
CGT_ARM_INSTALL_DIR = $(DEPOT)/_your_arm_code_gen_install_
|
109
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
|
110
|
IPC_INSTALL_DIR = $(DEPOT)/_your_ipc_install_
|
111
|
BIOS_INSTALL_DIR = $(DEPOT)/_your_bios_install_
|
112
|
XDC_INSTALL_DIR = $(DEPOT)/_your_xdctools_install_
|
113
|
|
114
|
# If LOADER=ELF then below elf tools path is required else set C64P path
|
115
|
ifeq ("$(LOADER)","ELF")
|
116
|
CGT_C64P_ELF_INSTALL_DIR= $(DEPOT)/_your_c64pelf_code_gen_install_
|
117
|
else
|
118
|
CGT_C64P_INSTALL_DIR = $(DEPOT)/_your_c64p_code_gen_install_
|
119
|
endif
|
120
|
|
121
|
######## For TI816X device ########
|
122
|
else ifeq ("$(DEVICE)","TI816X")
|
123
|
LINUXKERNEL = $(DEPOT)/_your_linux_kernel_install_
|
124
|
CGT_ARM_INSTALL_DIR = $(DEPOT)/_your_arm_code_gen_install_
|
125
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
|
126
|
IPC_INSTALL_DIR = $(DEPOT)/_your_ipc_install_
|
127
|
BIOS_INSTALL_DIR = $(DEPOT)/_your_bios_install_
|
128
|
XDC_INSTALL_DIR = $(DEPOT)/_your_xdctools_install_
|
129
|
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
|
130
|
|
131
|
# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
|
132
|
TI81XXDSP_DMTIMER_FREQ = 32768
|
133
|
|
134
|
# If SDK=NONE then below tools path is required
|
135
|
ifeq ("$(SDK)","NONE")
|
136
|
CGT_M3_ELF_INSTALL_DIR = $(DEPOT)/_your_m3elf_code_gen_install_
|
137
|
endif
|
138
|
|
139
|
######## For TI814X device ########
|
140
|
else ifeq ("$(DEVICE)","TI814X")
|
141
|
# Set one of the following OS variables
|
142
|
LINUXKERNEL = $(DEPOT)/_your_linux_kernel_install_
|
143
|
QNX_INSTALL_DIR = $(DEPOT)/_your_qnx_install_
|
144
|
|
145
|
CGT_ARM_INSTALL_DIR = $(DEPOT)/_your_arm_code_gen_install_
|
146
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
|
147
|
IPC_INSTALL_DIR = $(DEPOT)/_your_ipc_install_
|
148
|
BIOS_INSTALL_DIR = $(DEPOT)/_your_bios_install_
|
149
|
XDC_INSTALL_DIR = $(DEPOT)/_your_xdctools_install_
|
150
|
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
|
151
|
|
152
|
# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
|
153
|
TI81XXDSP_DMTIMER_FREQ = 20000000
|
154
|
|
155
|
# If SDK=NONE then below tools path is required
|
156
|
ifeq ("$(SDK)","NONE")
|
157
|
CGT_M3_ELF_INSTALL_DIR = $(DEPOT)/_your_m3elf_code_gen_install_
|
158
|
endif
|
159
|
|
160
|
# If GPPOS=Bios then below tools path is required
|
161
|
ifeq ("$(GPPOS)","Bios")
|
162
|
CGT_A8_ELF_INSTALL_DIR = $(DEPOT)/_your_a8elf_code_gen_install_
|
163
|
endif
|
164
|
|
165
|
######## For TI813X device ########
|
166
|
else ifeq ("$(DEVICE)","TI813X")
|
167
|
LINUXKERNEL = $(DEPOT)/_your_linux_kernel_install_
|
168
|
CGT_ARM_INSTALL_DIR = $(DEPOT)/_your_arm_code_gen_install_
|
169
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
|
170
|
IPC_INSTALL_DIR = $(DEPOT)/_your_ipc_install_
|
171
|
BIOS_INSTALL_DIR = $(DEPOT)/_your_bios_install_
|
172
|
XDC_INSTALL_DIR = $(DEPOT)/_your_xdctools_install_
|
173
|
|
174
|
# If SDK=NONE then below tools path is required
|
175
|
ifeq ("$(SDK)","NONE")
|
176
|
CGT_M3_ELF_INSTALL_DIR = $(DEPOT)/_your_m3elf_code_gen_install_
|
177
|
endif
|
178
|
|
179
|
######## For TI811X device ########
|
180
|
else ifeq ("$(DEVICE)","TI811X")
|
181
|
# Set one of the following OS variables
|
182
|
LINUXKERNEL = $(DEPOT)/_your_linux_kernel_install_
|
183
|
QNX_INSTALL_DIR = $(DEPOT)/_your_qnx_install_
|
184
|
|
185
|
CGT_ARM_INSTALL_DIR = $(DEPOT)/_your_arm_code_gen_install_
|
186
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
|
187
|
IPC_INSTALL_DIR = $(DEPOT)/_your_ipc_install_
|
188
|
BIOS_INSTALL_DIR = $(DEPOT)/_your_bios_install_
|
189
|
XDC_INSTALL_DIR = $(DEPOT)/_your_xdctools_install_
|
190
|
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
|
191
|
|
192
|
# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
|
193
|
TI81XXDSP_DMTIMER_FREQ = 20000000
|
194
|
|
195
|
# If SDK=NONE then below tools path is required
|
196
|
ifeq ("$(SDK)","NONE")
|
197
|
CGT_M3_ELF_INSTALL_DIR = $(DEPOT)/_your_m3elf_code_gen_install_
|
198
|
endif
|
199
|
|
200
|
######## For OMAPL1XX device ########
|
201
|
else ifeq ("$(DEVICE)","OMAPL1XX")
|
202
|
LINUXKERNEL = $(HOME)/MDK_XXXX-XX-XX/sw/ARM/linux/linux-davinci
|
203
|
CGT_ARM_INSTALL_DIR = /usr/local/oecore-i686/sysroots/i686-angstromsdk-linux/usr/bin/armv5te-angstrom-linux-gnueabi
|
204
|
CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/arm-angstrom-linux-gnueabi-
|
205
|
IPC_INSTALL_DIR = $(DEPOT)/ipc_1_25_00_04
|
206
|
BIOS_INSTALL_DIR = $(DEPOT)/bios_6_34_02_18
|
207
|
XDC_INSTALL_DIR = $(DEPOT)/xdctools_3_24_05_48
|
208
|
|
209
|
# If LOADER=ELF then below elf tools path is required else set C674 path
|
210
|
ifeq ("$(LOADER)","ELF")
|
211
|
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/ccsv5/tools/compiler/c6000_7.4.1
|
212
|
else
|
213
|
CGT_C674_INSTALL_DIR= $(DEPOT)/_your_c674_code_gen_install_
|
214
|
endif
|
215
|
######## End of device specific variables ########
|
216
|
|
217
|
else ifeq ($(MAKECMDGOALS), clean)
|
218
|
else ifeq ($(MAKECMDGOALS), clobber)
|
219
|
else ifeq ($(MAKECMDGOALS), .show-products)
|
220
|
else ifeq ($(MAKECMDGOALS), help)
|
221
|
else
|
222
|
$(error DEVICE is set to "$(DEVICE)", which is invalid. Set this in <SysLink Install>/products.mak. Refer to the SysLink Install Guide for more information)
|
223
|
endif
|
224
|
|
225
|
# Use this goal to print your product variables.
|
226
|
.show-products:
|
227
|
@echo "DEPOT = $(DEPOT)"
|
228
|
@echo "DEVICE = $(DEVICE)"
|
229
|
@echo "GPPOS = $(GPPOS)"
|
230
|
@echo "SDK = $(SDK)"
|
231
|
@echo "TI81XXDSP_DMTIMER_FREQ = $(TI81XXDSP_DMTIMER_FREQ)"
|
232
|
@echo "SYSLINK_BUILD_DEBUG = $(SYSLINK_BUILD_DEBUG)"
|
233
|
@echo "SYSLINK_BUILD_OPTIMIZE = $(SYSLINK_BUILD_OPTIMIZE)"
|
234
|
@echo "SYSLINK_TRACE_ENABLE = $(SYSLINK_TRACE_ENABLE)"
|
235
|
@echo "LOADER = $(LOADER)"
|
236
|
@echo "SYSLINK_INSTALL_DIR = $(SYSLINK_INSTALL_DIR)"
|
237
|
@echo "IPC_INSTALL_DIR = $(IPC_INSTALL_DIR)"
|
238
|
@echo "BIOS_INSTALL_DIR = $(BIOS_INSTALL_DIR)"
|
239
|
@echo "XDC_INSTALL_DIR = $(XDC_INSTALL_DIR)"
|
240
|
@echo "LINUXKERNEL = $(LINUXKERNEL)"
|
241
|
@echo "QNX_INSTALL_DIR = $(QNX_INSTALL_DIR)"
|
242
|
@echo "CGT_ARM_PREFIX = $(CGT_ARM_PREFIX)"
|
243
|
@echo "CGT_C64P_INSTALL_DIR = $(CGT_C64P_INSTALL_DIR)"
|
244
|
@echo "CGT_C64P_ELF_INSTALL_DIR = $(CGT_C64P_INSTALL_DIR)"
|
245
|
@echo "CGT_C674_INSTALL_DIR = $(CGT_C674_INSTALL_DIR)"
|
246
|
@echo "CGT_C674_ELF_INSTALL_DIR = $(CGT_C674_ELF_INSTALL_DIR)"
|
247
|
@echo "CGT_M3_ELF_INSTALL_DIR = $(CGT_M3_ELF_INSTALL_DIR)"
|
248
|
@echo "CGT_A8_ELF_INSTALL_DIR = $(CGT_A8_ELF_INSTALL_DIR)"
|
249
|
@echo "EXEC_DIR = $(EXEC_DIR)"
|