# -*- mode: python; coding: utf-8; -*-
#
#  Codezero -- Virtualization microkernel for embedded systems.
#
#  Copyright © 2009  B Labs Ltd

import os, sys, shelve
from os.path import join

# Get global paths
PROJRELROOT = '../../../'

sys.path.append(PROJRELROOT)

from config.configuration import *
from config.projpaths import *

Import('env', 'arch', 'type')
variant = type

# Needed by fputc(), for declaration of pl011_uart_tx()
LIBDEV_PATH = join(PROJROOT, 'conts/libdev')
LIBDEV_INCPATH = [LIBDEV_PATH + '/uart/include']

e = env.Clone()
e.Append(CPPPATH = ['include', 'include/sys-' + variant + '/arch-' + arch,
                    LIBDEV_INCPATH],
         CCFLAGS = '-nostdinc')

source = \
        Glob('src/*.c') + \
        Glob('src/sys-' + variant + '/*.c') + \
        Glob('src/sys-' + variant + '/arch-' + arch + '/*.c') + \
        Glob('src/arch-' + arch + '/*.c') + \
        Glob('src/arch-' + arch + '/*.S') + \
        Glob('crt/sys-' + variant + '/arch-' + arch + '/*.[cS]')

objects = e.StaticObject(source)
library = e.StaticLibrary('c-' + variant, objects)

Return('library')
