OLD | NEW |
| (Empty) |
1 # Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | |
2 # for details. All rights reserved. Use of this source code is governed by a | |
3 # BSD-style license that can be found in the LICENSE.md file. | |
4 | |
5 { | |
6 'target_defaults': { | |
7 'include_dirs': [ | |
8 '<(stm32_cube_f7)/Drivers/CMSIS/Include/', | |
9 '<(stm32_cube_f7)/Drivers/CMSIS/Device/ST/STM32F7xx/Include/', | |
10 '<(stm32_cube_f7)/Drivers/BSP/STM32746G-Discovery/', | |
11 '<(stm32_cube_f7)/Drivers/BSP/Components/Common/', | |
12 '<(stm32_cube_f7)/Middlewares/ST/STemWin/Config/', | |
13 '<(stm32_cube_f7)/Middlewares/ST/STemWin/inc/', | |
14 '<(stm32_cube_f7)/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/', | |
15 '<(stm32_cube_f7)/Middlewares/ST/STM32_USB_Host_Library/Core/Inc/', | |
16 '<(stm32_cube_f7)/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc/', | |
17 '<(stm32_cube_f7)/Middlewares/Third_Party/FatFs/src/', | |
18 '<(stm32_cube_f7)/Middlewares/Third_Party/FatFs/src/drivers/', | |
19 '<(stm32_cube_f7)/Utilities/Log', | |
20 '<(stm32_cube_f7)/Utilities/Fonts', | |
21 '<(stm32_cube_f7)/Utilities/CPU', | |
22 ], | |
23 }, | |
24 'targets': [ | |
25 { | |
26 'type': 'none', | |
27 'target_name': 'disco_fletch_dart_snapshot', | |
28 'variables': { | |
29 'source_path': 'src', | |
30 }, | |
31 'actions': [ | |
32 { | |
33 'action_name': 'snapshot', | |
34 'inputs': [ | |
35 'src/test.dart', | |
36 ], | |
37 'outputs': [ | |
38 # This must be in CWD for the objcopy below to generate the | |
39 # correct symbol names. | |
40 '<(PRODUCT_DIR)/snapshot', | |
41 ], | |
42 'action': [ | |
43 '<(PRODUCT_DIR)/../ReleaseX64/fletch', | |
44 'export', | |
45 '<(source_path)/test.dart', | |
46 'to', | |
47 'file', | |
48 '<(PRODUCT_DIR)/snapshot', | |
49 ], | |
50 }, | |
51 ], | |
52 }, | |
53 { | |
54 'type': 'none', | |
55 'target_name': 'disco_fletch_dart_snapshot.o', | |
56 'dependencies' : [ | |
57 'disco_fletch_dart_snapshot', | |
58 ], | |
59 'actions': [ | |
60 { | |
61 'action_name': 'snapshot', | |
62 'inputs': [ | |
63 '<(PRODUCT_DIR)/snapshot', | |
64 ], | |
65 'outputs': [ | |
66 '<(PRODUCT_DIR)/snapshot.o', | |
67 ], | |
68 'action': [ | |
69 'python', | |
70 '../../../tools/run_with_cwd.py', | |
71 '<(PRODUCT_DIR)', | |
72 # As we are messing with CWD we need the path relative to | |
73 # PRODUCT_DIR (where we cd into) instead of relative to | |
74 # where this .gyp file is. | |
75 '../../third_party/gcc-arm-embedded/linux/' | |
76 'gcc-arm-embedded/bin/arm-none-eabi-objcopy', | |
77 '-I', | |
78 'binary', | |
79 '-O', | |
80 'elf32-littlearm', | |
81 '-B', | |
82 'arm', | |
83 'snapshot', | |
84 'snapshot.o', | |
85 ], | |
86 }, | |
87 ], | |
88 }, | |
89 { | |
90 'target_name': 'libdisco_fletch', | |
91 'variables': { | |
92 'source_path': 'src', | |
93 'generated_path': 'generated', | |
94 'template_path': 'template', | |
95 'common_cflags': [ | |
96 # Our target will link in the stm files which do have a few warnings. | |
97 '-Wno-write-strings', | |
98 '-Wno-sign-compare', | |
99 '-Wno-missing-field-initializers', | |
100 ], | |
101 'common_cflags_cc': [ | |
102 '-Wno-literal-suffix', | |
103 ], | |
104 }, | |
105 'type': 'static_library', | |
106 'standalone_static_library': 1, | |
107 'includes': [ | |
108 '../free_rtos_sources.gypi', | |
109 '../hal_sources.gypi', | |
110 ], | |
111 'defines': [ | |
112 'DATA_IN_ExtSDRAM', # Avoid BSP_LDC_Init initializing SDRAM. | |
113 ], | |
114 'include_dirs': [ | |
115 '<(generated_path)/Inc', | |
116 '<(source_path)', | |
117 ], | |
118 'sources': [ | |
119 # Application. | |
120 '<(source_path)/circular_buffer.cc', | |
121 '<(source_path)/circular_buffer.h', | |
122 '<(source_path)/cmpctmalloc.c', | |
123 '<(source_path)/cmpctmalloc.h', | |
124 '<(source_path)/freertos.cc', | |
125 '<(source_path)/FreeRTOSConfig.h', | |
126 '<(source_path)/fletch_entry.cc', | |
127 '<(source_path)/main.cc', | |
128 '<(source_path)/page_allocator.cc', | |
129 '<(source_path)/page_allocator.h', | |
130 '<(source_path)/uart.cc', | |
131 '<(source_path)/uart.h', | |
132 | |
133 '<(source_path)/syscalls.c', | |
134 | |
135 # Generated files. | |
136 '<(generated_path)/Inc/mxconstants.h', | |
137 '<(generated_path)/Inc/stm32f7xx_hal_conf.h', | |
138 '<(generated_path)/Inc/stm32f7xx_it.h', | |
139 '<(generated_path)/Src/mx_init.c', # Derived from generated main.c. | |
140 '<(generated_path)/Src/stm32f7xx_hal_msp.c', | |
141 '<(generated_path)/Src/stm32f7xx_it.c', | |
142 | |
143 # Board initialization and interrupt service routines (template files). | |
144 '<(template_path)/system_stm32f7xx.c', | |
145 '<(template_path)/startup_stm32f746xx.s', | |
146 | |
147 # Board support packages. | |
148 '<(stm32_cube_f7_bsp_discovery)/stm32746g_discovery.c', | |
149 '<(stm32_cube_f7_bsp_discovery)/stm32746g_discovery_lcd.c', | |
150 '<(stm32_cube_f7_bsp_discovery)/stm32746g_discovery_sdram.c', | |
151 | |
152 # Additional utilities. | |
153 '<(stm32_cube_f7)/Utilities/Log/lcd_log.c', | |
154 ], | |
155 'conditions': [ | |
156 ['OS=="mac"', { | |
157 'xcode_settings': { | |
158 'OTHER_CFLAGS': [ | |
159 '<@(common_cflags)', | |
160 ], | |
161 'OTHER_CPLUSPLUSFLAGS' : [ | |
162 '<@(common_cflags)', | |
163 '<@(common_cflags_cc)', | |
164 ], | |
165 }, | |
166 }], | |
167 ['OS=="linux"', { | |
168 'cflags': [ | |
169 '<@(common_cflags)', | |
170 ], | |
171 'cflags_cc': [ | |
172 '<@(common_cflags_cc)', | |
173 ], | |
174 }], | |
175 ], | |
176 }, | |
177 { | |
178 'target_name': 'disco_fletch.elf', | |
179 'dependencies': [ | |
180 'libdisco_fletch', | |
181 'disco_fletch_dart_snapshot.o', | |
182 '../../../src/vm/vm.gyp:libfletch', | |
183 ], | |
184 'variables': { | |
185 'common_ldflags': [ | |
186 '-specs=nano.specs', | |
187 # TODO(340): Why does this not work??? | |
188 #'-T<(generated_path)/SW4STM32/configuration/STM32F746NGHx_FLASH.ld', | |
189 # TODO(340): Why is this needed??? | |
190 '-T../../platforms/stm/disco_fletch/generated/SW4STM32/' | |
191 'configuration/STM32F746NGHx_FLASH.ld', | |
192 '-Wl,--wrap=__libc_init_array', | |
193 '-Wl,--wrap=_malloc_r', | |
194 '-Wl,--wrap=_malloc_r', | |
195 '-Wl,--wrap=_realloc_r', | |
196 '-Wl,--wrap=_calloc_r', | |
197 '-Wl,--wrap=_free_r', | |
198 ], | |
199 }, | |
200 'type': 'executable', | |
201 'sources': [ | |
202 '<(PRODUCT_DIR)/snapshot.o', | |
203 ], | |
204 'conditions': [ | |
205 ['OS=="mac"', { | |
206 'xcode_settings': { | |
207 'OTHER_LDFLAGS': [ | |
208 '<@(common_ldflags)', | |
209 ], | |
210 }, | |
211 }], | |
212 ['OS=="linux"', { | |
213 'ldflags': [ | |
214 '<@(common_ldflags)', | |
215 ], | |
216 }], | |
217 ], | |
218 'libraries': [ | |
219 '-lstdc++', | |
220 ], | |
221 }, | |
222 { | |
223 'variables': { | |
224 'project_name': 'disco_fletch', | |
225 }, | |
226 'type': 'none', | |
227 'target_name': 'disco_fletch', | |
228 'dependencies' : [ | |
229 'disco_fletch.elf' | |
230 ], | |
231 'actions': [ | |
232 { | |
233 'action_name': 'generate_bin', | |
234 'inputs': [ | |
235 '<(PRODUCT_DIR)/<(project_name).elf', | |
236 ], | |
237 'outputs': [ | |
238 '<(PRODUCT_DIR)/<(project_name).bin', | |
239 ], | |
240 'action': [ | |
241 '<(objcopy)', | |
242 '-O', | |
243 'binary', | |
244 '<(PRODUCT_DIR)/<(project_name).elf', | |
245 '<(PRODUCT_DIR)/<(project_name).bin', | |
246 ], | |
247 }, | |
248 ], | |
249 }, | |
250 { | |
251 'type': 'none', | |
252 'target_name': 'disco_fletch_flash', | |
253 'dependencies' : [ | |
254 'disco_fletch' | |
255 ], | |
256 'actions': [ | |
257 { | |
258 'action_name': 'flash', | |
259 'inputs': [ | |
260 '<(PRODUCT_DIR)/disco_fletch.bin', | |
261 ], | |
262 'outputs': [ | |
263 'dummy', | |
264 ], | |
265 'action': [ | |
266 '<(DEPTH)/tools/lk/flash-image.sh', | |
267 '--disco', | |
268 '<(PRODUCT_DIR)/disco_fletch.bin', | |
269 ], | |
270 }, | |
271 ], | |
272 }, | |
273 ], | |
274 } | |
OLD | NEW |