flocsy/pebble-rtltr

View on GitHub
wscript

Summary

Maintainability
Test Coverage
#
# This file is the default set of rules to compile a Pebble project.
#
# Feel free to customize this to your needs.
#
import os
import shutil
import waflib

top = '.'
out = 'build'


def distclean(ctx):
    if os.path.exists('dist.zip'):
        os.remove('dist.zip')
    if os.path.exists('dist'):
        shutil.rmtree('dist')
    waflib.Scripting.distclean(ctx)


def options(ctx):
    ctx.load('pebble_sdk_lib')


def configure(ctx):
    ctx.load('pebble_sdk_lib')


def build(ctx):
    ctx.load('pebble_sdk_lib')

    cached_env = ctx.env
    for platform in ctx.env.TARGET_PLATFORMS:
        ctx.env = ctx.all_envs[platform]
        ctx.set_group(ctx.env.PLATFORM_NAME)
        lib_name = '{}/{}'.format(ctx.env.BUILD_DIR, ctx.env.PROJECT_INFO['name'])
        ctx.pbl_build(source=ctx.path.ant_glob('src/c/**/*.c'), target=lib_name, bin_type='lib')
    ctx.env = cached_env

    ctx.set_group('bundle')
    ctx.pbl_bundle(includes=ctx.path.ant_glob('include/**/*.h'),
                   js=ctx.path.ant_glob(['src/js/**/*.js', 'src/js/**/*.json']),
                   bin_type='lib')

    if ctx.cmd == 'clean':
        for n in ctx.path.ant_glob(['dist/**/*', 'dist.zip'], quiet=True):
            n.delete()