mirror of
https://github.com/google/pebble.git
synced 2025-07-05 06:10:27 -04:00
Import of the watch repository from Pebble
This commit is contained in:
commit
3b92768480
10334 changed files with 2564465 additions and 0 deletions
63
python_libs/pblprog/loader/wscript
Normal file
63
python_libs/pblprog/loader/wscript
Normal file
|
@ -0,0 +1,63 @@
|
|||
# Build script for the silk loader
|
||||
|
||||
import sys
|
||||
import os
|
||||
from waflib import Logs
|
||||
|
||||
def options(opt):
|
||||
opt.load('gcc')
|
||||
|
||||
|
||||
def configure(conf):
|
||||
# Find our binary tools
|
||||
conf.find_program('arm-none-eabi-gcc', var='CC', mandatory=True)
|
||||
conf.env.AS = conf.env.CC
|
||||
conf.find_program('arm-none-eabi-gcc-ar', var='AR', mandatory=True)
|
||||
|
||||
conf.load('gcc')
|
||||
|
||||
for tool in 'ar objcopy'.split():
|
||||
conf.find_program('arm-none-eabi-' + tool, var=tool.upper(), mandatory=True)
|
||||
|
||||
# Set up our compiler configuration
|
||||
CPU_FLAGS = ['-mcpu=cortex-m3', '-mthumb']
|
||||
OPT_FLAGS = ['-Os', '-g']
|
||||
C_FLAGS = [
|
||||
'-std=c11', '-ffunction-sections',
|
||||
'-Wall', '-Wextra', '-Werror', '-Wpointer-arith',
|
||||
'-Wno-unused-parameter', '-Wno-missing-field-initializers',
|
||||
'-Wno-error=unused-function', '-Wno-error=unused-variable',
|
||||
'-Wno-error=unused-parameter', '-Wno-error=unused-but-set-variable',
|
||||
'-Wno-packed-bitfield-compat'
|
||||
]
|
||||
LINK_FLAGS = ['-Wl,--gc-sections', '-specs=nano.specs']
|
||||
|
||||
conf.env.append_unique('CFLAGS', CPU_FLAGS + OPT_FLAGS + C_FLAGS)
|
||||
conf.env.append_unique('LINKFLAGS', LINK_FLAGS + CPU_FLAGS + OPT_FLAGS)
|
||||
|
||||
conf.env.append_unique('DEFINES', ['_REENT_SMALL=1'])
|
||||
|
||||
# Load up other waftools that we need
|
||||
conf.load('objcopy ldscript', tooldir='waftools')
|
||||
|
||||
def build(bld):
|
||||
elf_node = bld.path.get_bld().make_node('loader.elf')
|
||||
|
||||
linkflags = ['-Wl,-Map,loader.map']
|
||||
|
||||
sources = ['src/**/*.c']
|
||||
|
||||
includes = ['src']
|
||||
|
||||
bld.program(features="objcopy",
|
||||
source=bld.path.ant_glob(sources),
|
||||
includes=includes,
|
||||
target=elf_node,
|
||||
ldscript='src/stm32f4_loader.ld',
|
||||
linkflags=linkflags,
|
||||
objcopy_bfdname='ihex',
|
||||
objcopy_target=elf_node.change_ext('.hex'))
|
||||
import objcopy
|
||||
bld(rule=objcopy.objcopy_simple_bin, source='loader.elf', target='loader.bin')
|
||||
|
||||
# vim:filetype=python
|
Loading…
Add table
Add a link
Reference in a new issue