URL
https://opencores.org/ocsvn/c0or1k/c0or1k/trunk
Subversion Repositories c0or1k
[/] [c0or1k/] [trunk/] [conts/] [baremetal/] [timer_service/] [SConstruct] - Rev 5
Compare with Previous | Blame | View Log
# -*- mode: python; coding: utf-8; -*-## Codezero -- Virtualization microkernel for embedded systems.## Copyright © 2009 B Labs Ltd#import os, shelve, sysfrom os.path import *PROJRELROOT = '../..'sys.path.append(PROJRELROOT)from config.projpaths import *from config.configuration import *from configure import *config = configuration_retrieve()arch = config.archplatform = config.platformgcc_arch_flag = config.gcc_arch_flag# Wrapper library for system callsLIBL4_RELDIR = 'conts/libl4'KERNEL_INCLUDE = join(PROJROOT, 'include')LIBL4_DIR = join(PROJROOT, LIBL4_RELDIR)LIBL4_INCLUDE = join(LIBL4_DIR, 'include')LIBL4_LIBPATH = join(BUILDDIR, LIBL4_RELDIR)# Some user-space librariesLIBC_RELDIR = 'conts/libc'LIBC_DIR = join(PROJROOT, LIBC_RELDIR)LIBC_LIBPATH = join(BUILDDIR, LIBC_RELDIR)LIBC_INCLUDE = [join(LIBC_DIR, 'include'), \join(LIBC_DIR, 'include/arch' + '/' + arch)]LIBDEV_RELDIR = 'conts/libdev'LIBDEV_DIR = join(PROJROOT, LIBDEV_RELDIR)LIBDEV_LIBPATH = join(join(BUILDDIR, LIBDEV_RELDIR), 'sys-userspace')LIBDEV_INCLUDE = join(LIBDEV_DIR, 'include')LIBMEM_RELDIR = 'conts/libmem'LIBMEM_DIR = join(PROJROOT, LIBMEM_RELDIR)LIBMEM_LIBPATH = join(BUILDDIR, LIBMEM_RELDIR)LIBMEM_INCLUDE = LIBMEM_DIRenv = Environment(CC = config.toolchain_userspace + 'gcc',# We don't use -nostdinc because sometimes we need standard headers,# such as stdarg.h e.g. for variable args, as in printk().CCFLAGS = ['-g', '-nostdlib', '-ffreestanding', '-std=gnu99', '-Wall', \'-Werror'], \LINKFLAGS = ['-nostdlib', '-T' + "include/linker.lds", "-u_start"],\ASFLAGS = ['-D__ASSEMBLY__'], \PROGSUFFIX = '.elf', # The suffix to use for final executableENV = {'PATH' : os.environ['PATH']}, # Inherit shell pathLIBS = ['gcc', 'libl4', 'c-userspace', 'libdev-userspace', \'libmm', 'libmc', 'libmalloc', 'gcc', 'c-userspace'],# libgcc.a - This is required for division routines.CPPPATH = ["#include", KERNEL_INCLUDE, LIBL4_INCLUDE, LIBDEV_INCLUDE, \LIBC_INCLUDE, LIBMEM_INCLUDE],LIBPATH = [LIBL4_LIBPATH, LIBDEV_LIBPATH, LIBC_LIBPATH, LIBMEM_LIBPATH],CPPFLAGS = '-include l4/config.h -include l4/macros.h -include l4/types.h')src = Glob('*.[cS]')src += Glob('src/*.[cS]')src += Glob('src/arch/*.[cS]')objs = env.Object(src)prog = env.Program('main.elf', objs)Depends(prog, 'include/linker.lds')
