diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-02-02 20:10:47 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-02-02 20:10:47 +0100 |
commit | b9fcc41f3f551f7cb7f543e8f8cefe32efcc65c7 (patch) | |
tree | 8a43c83fca1f8069a4e20e4764d67a389331c01b /SConstruct | |
parent | 57b2180c173e2963bdec5e8d5b9af6361a6ac18e (diff) |
Made SConscripts tidyer.
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 30 |
1 files changed, 28 insertions, 2 deletions
@@ -1,9 +1,37 @@ import os +toolchain_prefix = 'i386-elf-' + env = Environment( ENV = os.environ, + + CC = toolchain_prefix + 'gcc', + CCFLAGS = '-Wall -W -nostdinc -fno-builtin -fno-hosted -ggdb -std=gnu99 -m32', + + LINK = toolchain_prefix + 'ld', + LINKFLAGS = '-nostdinc -nostdlib', +) + +def standalone_bld_generator(source, target, env, for_signature): + link_script = None + for s in source: + if s.suffix == '.ld': + link_script = s + break + if not link_script: + Exit(1) + return '$LINK $LINKFLAGS -o %s -T %s %s ' % (target[0], link_script, ' '.join(str(s) for s in source if s != link_script)) + +standalone_bld = Builder( + generator = standalone_bld_generator, + suffix = '', + src_suffix = '.o', + src_builder = 'Object', + target_scanner = ProgramScanner ) +env.Append(BUILDERS = {'Standalone' : standalone_bld}) + Export('env') env.SConscript('kernel/SConscript') @@ -12,8 +40,6 @@ env.SConscript('modules/SConscript') env.SConscript('floppy/SConscript') -#env.Command('qemu', 'floppy/floppy.img', 'qemu -s -m 32 -fda $SOURCE') - env.Command('qemu', ['kernel', 'modules'], 'qemu -s -m 32 -boot n -tftp . -bootp /pxelinux.0') Default('kernel') |