Simplify the top-level SConstruct a bit by transfering responsibility for ensuring the dependency on the configuration files to the SConscript files.

This commit is contained in:
Russel Winder
2009-08-27 16:59:52 +01:00
parent 6ca0f2607a
commit 673b41c3a6
8 changed files with 13 additions and 10 deletions

View File

@@ -133,13 +133,11 @@ else :
crts = {}
for variant in ['baremetal']:
(libs[variant], crts[variant]) = SConscript('libs/c/SConscript', variant_dir = buildDirectory + '/lib/c/' + variant, duplicate = 0, exports = {'environment': libraryEnvironment, 'variant': variant})
Depends((libs[variant], crts[variant]), libraryEnvironment['configFiles'])
baseEnvironment['baremetal_libc'] = libs['baremetal']
baseEnvironment['baremetal_crt0'] = crts['baremetal']
libelf = SConscript('libs/elf/SConscript', variant_dir = buildDirectory + '/lib/elf', duplicate = 0, exports = {'environment': libraryEnvironment})
Depends(libelf, libraryEnvironment['configFiles'])
Alias('libs', crts.values() + libs.values() + [libelf])
@@ -163,7 +161,6 @@ else :
CPPFLAGS = ['-include', 'config.h', '-include', 'cml2Config.h', '-include', 'macros.h', '-include', 'types.h', '-D__KERNEL__'])
startAxf = SConscript('src/SConscript' , variant_dir = buildDirectory + '/kernel' , duplicate = 0, exports = {'environment': kernelEnvironment})
Depends(startAxf, kernelEnvironment['configFiles'])
Alias('kernel', startAxf)
@@ -183,8 +180,6 @@ else :
for library in taskLibraryNames:
taskLibraries.append(SConscript(posixServicesDirectory + library + '/SConscript', variant_dir = buildDirectory + '/' + posixServicesDirectory + library, duplicate = 0, exports = {'environment': taskSupportLibraryEnvironment, 'posixServicesDirectory': posixServicesDirectory}))
Depends(taskLibraries, taskSupportLibraryEnvironment['configFiles'])
Alias ('tasklibs', taskLibraries)
########## Build the tasks ########################
@@ -229,7 +224,6 @@ else :
tasks.append(program)
if i < len(imageOrderData) - 1:
imageOrderData[i+1][1].append(program)
Depends(tasks, tasksEnvironment['configFiles'])
Alias ('tasks', tasks)

View File

@@ -89,5 +89,6 @@ bootdescSource = environment.Command('bootdesc.c', images, generateBootdesc)
objects = environment.Object(bootdescSource)
Depends(objects, environment['configFiles'])
bootdesc = environment.Command('bootdesc.axf', environment.Program('bootdesc_intermediate', objects) + [images[1]] , relocateBootdesc)
Depends(bootdesc, environment['configFiles'])
Return('bootdesc')

View File

@@ -27,5 +27,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
objects = e.StaticObject(Glob('src/*.c') + Glob('src/arch-' + environment['ARCH'] + '/*.[cS]'))
Depends(objects, e['configFiles'])
library = e.StaticLibrary('c', objects)
Depends(library, e['configFiles'])
Return('library')

View File

@@ -29,5 +29,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
objects = e.StaticObject(Glob('src/*.c') + Glob('src/' + e['ARCH'] + '/*.[cS]'))
Depends(objects, e['configFiles'])
library = e.StaticLibrary('l4', objects)
Depends(library, e['configFiles'])
Return('library')

View File

@@ -25,14 +25,17 @@ e.Append(CPPPATH = ['#' + posixServicesDirectory + 'libl4/include' , '.' ])
mmObjects = e.StaticObject(Glob('mm/*.c'))
Depends(mmObjects, e['configFiles'])
mmLibrary = e.StaticLibrary('mm', mmObjects)
Depends(mmLibrary, e['configFiles'])
kmObjects = e.StaticObject(Glob('kmalloc/*.c'))
Depends(kmObjects, e['configFiles'])
kmLibrary = e.StaticLibrary('km', kmObjects)
Depends(kmLibrary, e['configFiles'])
mcObjects = e.StaticObject(Glob('memcache/*.c'))
Depends(mcObjects, e['configFiles'])
mcLibrary = e.StaticLibrary('mc', mcObjects)
Depends(mcLibrary, e['configFiles'])
libraries = (mmLibrary, kmLibrary, mcLibrary)

View File

@@ -29,5 +29,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
objects = e.StaticObject(Glob('*.c'))
Depends(objects, e['configFiles'])
library = e.StaticLibrary('posix', objects)
Depends(library, e['configFiles'])
Return('library')

View File

@@ -32,10 +32,11 @@ e.Append(CPPPATH = ['include', 'include/sys-' + variant + '/arch-' + environment
objects = e.StaticObject(source)
Depends (objects, e['configFiles'])
library = e.StaticLibrary('c-' + variant, objects)
Depends (library, e['configFiles'])
runTime = e.StaticObject('crt/sys-' + variant + '/arch-' + e['ARCH'] + '/crt0.S')
Depends (runTime, e['configFiles'])
result = (
e.StaticLibrary('c-' + variant, objects),
e.StaticObject('crt/sys-' + variant + '/arch-' + e['ARCH'] + '/crt0.S')
)
result = (library, runTime)
Return('result')

View File

@@ -25,5 +25,6 @@ e.Append(CPPPATH = ['include', '#libs/c/include', '#libs/c/include/arch/' + e['A
objects = e.StaticObject(Glob('src/*.c'))
Depends(objects, e['configFiles'])
library = e.StaticLibrary('elf', objects)
Depends(library, e['configFiles'])
Return('library')