Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7 | jlesech | 1 | """ |
2 | Build project. |
||
3 | """ |
||
4 | def BuildProject(env, libraries, sources, target_name): |
||
5 | # Build libraries. |
||
6 | for library in libraries: |
||
7 | SConscript( |
||
8 | '#libraries/' + library + '/SConscript', |
||
9 | exports = { 'env' : env }, |
||
10 | duplicate = 0 |
||
11 | ) |
||
12 | |||
13 | # Build program. |
||
14 | env.Program(target = target_name + '.elf', source = sources) |
||
15 | |||
16 | # Create hex binary file. |
||
17 | env.Command( |
||
18 | target_name + '.hex', |
||
19 | target_name + '.elf', |
||
20 | env['OBJCOPY'] + ' -O ihex $SOURCE $TARGET' |
||
21 | ) |
||
22 | |||
23 | AddMethod(Environment, BuildProject) |
||
24 | |||
25 | """ |
||
26 | Build library. |
||
27 | """ |
||
28 | def BuildLibrary(env, sources, target_name): |
||
29 | # Build static library. |
||
30 | env.StaticLibrary(target = target_name, source = sources) |
||
31 | |||
32 | # Append LIBPATH and LIBS. |
||
33 | env.Append(LIBPATH = [ '#build/libraries/' + target_name + '/' + env['NAME'] ]) |
||
34 | env.Append(LIBS = [ target_name ]) |
||
35 | |||
36 | AddMethod(Environment, BuildLibrary) |
||
37 | |||
38 | """ |
||
39 | Compute memory usage. |
||
40 | """ |
||
41 | def ComputeMemoryUsage(env, target_name): |
||
42 | # Compute memory usage. |
||
43 | env.Command( |
||
44 | None, |
||
45 | target_name + '.elf', |
||
46 | env['SIZE'] + ' -C --mcu=' + env['MCU'] + ' $SOURCE' |
||
47 | ) |
||
48 | |||
49 | AddMethod(Environment, ComputeMemoryUsage) |