This repository was archived by the owner on Apr 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjake.js
executable file
·439 lines (404 loc) · 17.1 KB
/
jake.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
const { execFile, execSync } = require('child_process');
const fs = require('fs');
const process = require("process");
const CSOURCES = []
, CXXSOURCES = []
, ASMSOURCES = []
, FLAGS=[]
, C_FLAGS=[]
, CXX_FLAGS=[]
, ASM_FLAGS=[]
;
let cleanBuild = process.argv[2] == 1;
console.log(cleanBuild + " " + process.argv[2]);
let CC='../../gcc-arm-none-eabi/bin/arm-none-eabi-gcc';
let AS='../../gcc-arm-none-eabi/bin/arm-none-eabi-as';
let CPP='../../gcc-arm-none-eabi/bin/arm-none-eabi-g++';
let LD='../../gcc-arm-none-eabi/bin/arm-none-eabi-gcc';
let ELF2BIN = '../../gcc-arm-none-eabi/bin/arm-none-eabi-objcopy';
let LIBRARIES = 'libmicropython.a';
let LINKER_SCRIPT = './PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/LPC11U68.ld';
let LD_FLAGS ='-Wl,--gc-sections -Wl,--wrap,main -Wl,--wrap,_memalign_r -Wl,-n --specs=nano.specs -mcpu=cortex-m0plus -mthumb';
let LD_SYS_LIBS ='-Wl,--start-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -Wl,--end-group';
ASMSOURCES.push(
'PokittoLib/POKITTO_HW/asm/mode15.s',
'PokittoLib/POKITTO_HW/asm/mode13.s',
'PokittoLib/POKITTO_HW/asm/unlz4.s',
'PokittoLib/POKITTO_HW/asm/mode2.s',
'PokittoLib/POKITTO_HW/asm/flushLine2X.s',
'PokittoLib/POKITTO_HW/asm/mode1.s',
'PokittoLib/POKITTO_HW/asm/pixelCopySolid.s',
'PokittoLib/POKITTO_HW/asm/mode64c.s',
'PokittoLib/POKITTO_HW/asm/pixelExpand.s',
'PokittoLib/POKITTO_HW/asm/pixelCopy.s',
'PokittoLib/POKITTO_HW/asm/flushLine.s',
'PokittoLib/POKITTO_HW/asm/mode1c.s',
'PokittoLib/POKITTO_HW/asm/mode2c.s',
'PokittoLib/POKITTO_HW/asm/pixelCopyMirror.s',
'PokittoLib/POKITTO_HW/asm/mode13c.s',
'PokittoLib/POKITTO_HW/asm/mode15c.s',
'PokittoLib/POKITTO_HW/asm/mode64.s',
);
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/TIC806x6.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/ZXSpec.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/adventurer12x16.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/donut7x10.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/dragon6x8.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/font3x3.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/font3x5.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/font5x7.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/fontC64.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/fontC64UIGfx.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/karateka8x11.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/koubit7x7.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/mini4x6.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/runes6x8.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/tight4x7.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/tiny5x7.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/FONTS/fontMonkey.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palAction.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palCGA.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palDB16.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palDefault.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palGameboy.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palMagma.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palMono.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palPico.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palRainbow.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PALETTES/palZXSpec.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoBacklight.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoBattery.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoButtons.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoConsole.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoCore.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoCookie.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoDisk.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoDisplay.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoFramebuffer.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/TASMODE.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoItoa.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoLogos.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoPalette.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_CORE/PokittoSound.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/HWButtons.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/HWLCD.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/HWSound.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/PokittoClock.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/PokittoHW.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/Pokitto_extport.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_HW/SoftwareI2C.cpp');
CSOURCES.push('PokittoLib/POKITTO_HW/clock_11u6x.c');
CSOURCES.push('PokittoLib/POKITTO_HW/dma_11u6x.c');
CXXSOURCES.push('PokittoLib/POKITTO_HW/iap.cpp');
CSOURCES.push('PokittoLib/POKITTO_HW/timer_11u6x.c');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Tilemap/Tilemap.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/PokittoTUI/tasui_UI.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_envfuncs.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_helpers.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_mixfuncs.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_oscfuncs.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_songfuncs.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/Synth/Synth_wavefuncs.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_XTERNALS/Arduino/delay.cpp');
CXXSOURCES.push('PokittoLib/libpff/mmc.cpp');
CXXSOURCES.push('PokittoLib/libpff/pff.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/BusIn.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/BusInOut.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/BusOut.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/CAN.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/CallChain.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Ethernet.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/FileBase.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/FileLike.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/FilePath.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/FileSystemLike.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/I2C.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/I2CSlave.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/InterruptIn.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/InterruptManager.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/LocalFileSystem.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/RawSerial.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/SPI.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/SPISlave.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Serial.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/SerialBase.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Stream.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Ticker.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Timeout.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/Timer.cpp');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/TimerEvent.cpp');
CSOURCES.push('PokittoLib/mbed-pokitto/common/assert.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/board.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/error.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/gpio.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/lp_ticker_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/mbed_interface.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/pinmap_common.c');
CXXSOURCES.push('PokittoLib/mbed-pokitto/common/retarget.cpp');
CSOURCES.push('PokittoLib/mbed-pokitto/common/rtc_time.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/semihost_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/ticker_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/us_ticker_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/common/wait_api.c');
CXXSOURCES.push('PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.cpp');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/cmsis_nvic.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/system_LPC11U6x.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/analogin_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/gpio_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/gpio_irq_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/i2c_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/pinmap.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/pwmout_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/rtc_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/sleep.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/spi_api.c');
CSOURCES.push('PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X/us_ticker.c');
CXXSOURCES.push('main.cpp');
CXXSOURCES.push('PokittoLib/POKITTO_LIBS/MicroPython/PythonBindings.cpp');
CXXSOURCES.push('UartSerialPrint.cpp');
CSOURCES.push('frozen_mpy.c');
let forceCompile = [
'main.cpp',
'frozen_mpy.c'
];
ASM_FLAGS.push(
"-mcpu=cortex-m0plus",
"-mthumb"
);
C_FLAGS.push(
'-c',
'-Wall',
'-Wextra',
'-Wno-unused-parameter',
'-Wno-missing-field-initializers',
'-fmessage-length=0',
'-fno-exceptions',
'-fno-builtin',
'-ffunction-sections',
'-fdata-sections',
'-funsigned-char',
'-MMD',
'-fno-delete-null-pointer-checks',
'-fomit-frame-pointer',
'-Os',
'-g1',
'-DMBED_RTOS_SINGLE_THREAD',
'-mcpu=cortex-m0plus',
'-mthumb',
'-D_OSCT=2'
);
CXX_FLAGS.push(
'-std=c++17',
'-fno-rtti',
'-Wvla',
'-c',
'-Wall',
'-Wextra',
'-Wno-unused-parameter',
'-Wno-missing-field-initializers',
'-fmessage-length=0',
'-fno-exceptions',
'-fno-builtin',
'-ffunction-sections',
'-fdata-sections',
'-funsigned-char',
'-MMD',
'-fno-delete-null-pointer-checks',
'-fomit-frame-pointer',
'-Os',
'-g1',
'-DMBED_RTOS_SINGLE_THREAD',
'-mcpu=cortex-m0plus',
'-mthumb',
'-D_OSCT=2'
);
C_FLAGS.push('-std=gnu99');
C_FLAGS.push('-DTARGET_LPC11U68');
C_FLAGS.push('-D__MBED__=1');
C_FLAGS.push('-DDEVICE_I2CSLAVE=1');
C_FLAGS.push('-DTARGET_LIKE_MBED');
C_FLAGS.push('-DTARGET_NXP');
C_FLAGS.push('-D__MBED_CMSIS_RTOS_CM');
C_FLAGS.push('-DDEVICE_RTC=1');
C_FLAGS.push('-DTOOLCHAIN_object');
C_FLAGS.push('-D__CMSIS_RTOS');
C_FLAGS.push('-DTOOLCHAIN_GCC');
C_FLAGS.push('-DTARGET_CORTEX_M');
C_FLAGS.push('-DTARGET_M0P');
C_FLAGS.push('-DTARGET_UVISOR_UNSUPPORTED');
C_FLAGS.push('-DMBED_BUILD_TIMESTAMP=1526086019.89');
C_FLAGS.push('-DDEVICE_SERIAL=1');
C_FLAGS.push('-DDEVICE_INTERRUPTIN=1');
C_FLAGS.push('-DTARGET_LPCTarget');
C_FLAGS.push('-DTARGET_CORTEX');
C_FLAGS.push('-DDEVICE_I2C=1');
C_FLAGS.push('-D__CORTEX_M0PLUS');
C_FLAGS.push('-DTARGET_FF_ARDUINO');
C_FLAGS.push('-DTARGET_RELEASE');
C_FLAGS.push('-DARM_MATH_CM0PLUS');
C_FLAGS.push('-DTARGET_LPC11U6X');
C_FLAGS.push('-DDEVICE_SLEEP=1');
C_FLAGS.push('-DTOOLCHAIN_GCC_ARM');
C_FLAGS.push('-DDEVICE_SPI=1');
C_FLAGS.push('-DDEVICE_ANALOGIN=1');
C_FLAGS.push('-DDEVICE_PWMOUT=1');
C_FLAGS.push('-DTARGET_LIKE_CORTEX_M0');
CXX_FLAGS.push('-std=c++17');
CXX_FLAGS.push('-fno-rtti');
CXX_FLAGS.push('-Wvla');
CXX_FLAGS.push('-DTARGET_LPC11U68');
CXX_FLAGS.push('-D__MBED__=1');
CXX_FLAGS.push('-DDEVICE_I2CSLAVE=1');
CXX_FLAGS.push('-DTARGET_LIKE_MBED');
CXX_FLAGS.push('-DTARGET_NXP');
CXX_FLAGS.push('-D__MBED_CMSIS_RTOS_CM');
CXX_FLAGS.push('-DDEVICE_RTC=1');
CXX_FLAGS.push('-DTOOLCHAIN_object');
CXX_FLAGS.push('-D__CMSIS_RTOS');
CXX_FLAGS.push('-DTOOLCHAIN_GCC');
CXX_FLAGS.push('-DTARGET_CORTEX_M');
CXX_FLAGS.push('-DTARGET_M0P');
CXX_FLAGS.push('-DTARGET_UVISOR_UNSUPPORTED');
CXX_FLAGS.push('-DMBED_BUILD_TIMESTAMP=1526086019.89');
CXX_FLAGS.push('-DDEVICE_SERIAL=1');
CXX_FLAGS.push('-DDEVICE_INTERRUPTIN=1');
CXX_FLAGS.push('-DTARGET_LPCTarget');
CXX_FLAGS.push('-DTARGET_CORTEX');
CXX_FLAGS.push('-DDEVICE_I2C=1');
CXX_FLAGS.push('-D__CORTEX_M0PLUS');
CXX_FLAGS.push('-DTARGET_FF_ARDUINO');
CXX_FLAGS.push('-DTARGET_RELEASE');
CXX_FLAGS.push('-DARM_MATH_CM0PLUS');
CXX_FLAGS.push('-DTARGET_LPC11U6X');
CXX_FLAGS.push('-DDEVICE_SLEEP=1');
CXX_FLAGS.push('-DTOOLCHAIN_GCC_ARM');
CXX_FLAGS.push('-DDEVICE_SPI=1');
CXX_FLAGS.push('-DDEVICE_ANALOGIN=1');
CXX_FLAGS.push('-DDEVICE_PWMOUT=1');
CXX_FLAGS.push('-DTARGET_LIKE_CORTEX_M0');
FLAGS.push('-I./.');
FLAGS.push('-I./PokittoLib');
FLAGS.push('-I./PokittoLib/POKITTO_CORE');
FLAGS.push('-I./PokittoLib/POKITTO_CORE/FONTS');
FLAGS.push('-I./PokittoLib/POKITTO_CORE/PALETTES');
FLAGS.push('-I./PokittoLib/POKITTO_HW');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/PokittoTUI');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/PokittoTUI/UITILESETS');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/Tilemap');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/MemOps');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/File');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/ImageFormat');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/Synth');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/USBDevice');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/USBDevice/USBDevice');
FLAGS.push('-I./PokittoLib/POKITTO_LIBS/USBDevice/USBSerial');
FLAGS.push('-I./PokittoLib/POKITTO_XTERNALS');
FLAGS.push('-I./PokittoLib/POKITTO_XTERNALS/Arduino');
FLAGS.push('-I./PokittoLib/libpff');
FLAGS.push('-I./PokittoLib/mbed-pokitto');
FLAGS.push('-I./PokittoLib/mbed-pokitto/api');
FLAGS.push('-I./PokittoLib/mbed-pokitto/common');
FLAGS.push('-I./PokittoLib/mbed-pokitto/hal');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/cmsis/TOOLCHAIN_GCC');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/hal');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP');
FLAGS.push('-I./PokittoLib/mbed-pokitto/targets/hal/TARGET_NXP/TARGET_LPC11U6X');
/*
BUILD/%.o : %.c
+@$(call MAKEDIR,$(dir $@))
+@echo "Compile: $(notdir $<)"
@$(CC) $(C_FLAGS) $(INCLUDE_PATHS) -o $@ $<
*/
function obj(src){
return src.replace(/.*\/([^\/]+)/, '$1').replace(/\.[^.]+$/i, '.o');
}
CSOURCES.forEach( src => {
let outFile = obj(src);
if( forceCompile.indexOf(src) == -1 && !cleanBuild && fs.existsSync(outFile) )
return;
execSync([
CC,
C_FLAGS.join(" "),
FLAGS.join(" "),
"-o", outFile,
src
].join(" "));
});
ASMSOURCES.forEach( src => {
let outFile = obj(src);
if( forceCompile.indexOf(src) == -1 && !cleanBuild && fs.existsSync(outFile) )
return;
execSync([
AS,
ASM_FLAGS.join(" "),
FLAGS.join(" "),
"-o", outFile,
src
].join(" "));
});
/*
BUILD/%.o : %.cpp
+@$(call MAKEDIR,$(dir $@))
+@echo "Compile: $(notdir $<)"
@$(CPP) $(CXX_FLAGS) $(INCLUDE_PATHS) -o $@ $<
*/
CXXSOURCES.forEach( src => {
let outFile = obj(src);
if( forceCompile.indexOf(src) == -1 && !cleanBuild && src.indexOf("PokittoLib/") != -1 && fs.existsSync(outFile) )
return;
execSync([
CPP,
CXX_FLAGS.join(" "),
FLAGS.join(" "),
"-o", outFile,
src
].join(" "));
});
/*
$(BPROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) $(BPROJECT).link_script.ld @$(LD) $(LD_FLAGS) -T $(filter-out %.o, $^) $(LIBRARY_PATHS) --output $@ $(filter %.o, $^) $(LD_SYS_LIBS) $(LIBRARIES)
*/
execSync([
LD,
LD_FLAGS,
'-T', LINKER_SCRIPT,
'--output build.elf',
CSOURCES.map(obj).join(" "),
CXXSOURCES.map(obj).join(" "),
ASMSOURCES.map(obj).join(" "),
LD_SYS_LIBS,
LIBRARIES
].join(" "));
/*
$(BPROJECT).bin: $(BPROJECT).elf
$(ELF2BIN) -O binary $< $@
+@echo "===== bin file ready to flash: $(OBJDIR)/$@ ====="
*/
execSync([
ELF2BIN,
"-O binary",
"build.elf",
"build.bin"
].join(" "));
/*
$(BPROJECT).hex: $(BPROJECT).elf
$(ELF2BIN) -O ihex $< $@
# Rules
###############################################################################
# Dependencies
DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
-include $(DEPS)
# endif
# Dependencies
###############################################################################
clean :
$(call RM,$(OBJDIR))
*/