From b9fcc41f3f551f7cb7f543e8f8cefe32efcc65c7 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Tue, 2 Feb 2010 20:10:47 +0100 Subject: Made SConscripts tidyer. --- SConstruct | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'SConstruct') diff --git a/SConstruct b/SConstruct index aa24516..e040556 100644 --- a/SConstruct +++ b/SConstruct @@ -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') -- cgit v1.2.3