OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [conts/] [posix/] [rootfs/] [SConscript] - Rev 2

Compare with Previous | Blame | View Log

# -*- mode: python; coding: utf-8; -*-

#  Codezero -- a microkernel for embedded systems.
#
#  Copyright © 2009  B Labs Ltd

import os.path
import sys, subprocess, shutil
from os.path import *

Import('config', 'environment', 'previmage')

e = environment.Clone()

sys.path.append('../../../')

from config.projpaths import *
from config.configuration import *
from tools.pyelf.lmanext import *

rootfs_lds_in = \
'''
/*
 * Linker script that embeds an empty root filesystem.
 * This is to be replaced by a real rootfs image later.
 */
SECTIONS
{
        . = %s;
        .bss : { *(.bss) }
}
'''

def generate_rootfs_lds(target, source, env):
    with open(source[1].path, 'r') as lds_in:
        with open(target[0].path, 'w+') as lds_out:
            linker_script = lds_in.read()
            lds_out.write(linker_script % next_available_lma(source[0].path))

rootfs_lds = e.Command('rootfs.lds', [previmage, 'rootfs.lds.in'], generate_rootfs_lds)

e.Append(LINKFLAGS = '-T' + rootfs_lds[0].path)
rootfs_img = e.Program('rootfs.elf', 'rootfs.c')
Depends(rootfs_img, rootfs_lds)

Return('rootfs_img')

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.