mirror of
https://github.com/drasko/codezero.git
synced 2026-02-26 08:43:13 +01:00
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:
@@ -133,13 +133,11 @@ else :
|
|||||||
crts = {}
|
crts = {}
|
||||||
for variant in ['baremetal']:
|
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})
|
(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_libc'] = libs['baremetal']
|
||||||
baseEnvironment['baremetal_crt0'] = crts['baremetal']
|
baseEnvironment['baremetal_crt0'] = crts['baremetal']
|
||||||
|
|
||||||
libelf = SConscript('libs/elf/SConscript', variant_dir = buildDirectory + '/lib/elf', duplicate = 0, exports = {'environment': libraryEnvironment})
|
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])
|
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__'])
|
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})
|
startAxf = SConscript('src/SConscript' , variant_dir = buildDirectory + '/kernel' , duplicate = 0, exports = {'environment': kernelEnvironment})
|
||||||
Depends(startAxf, kernelEnvironment['configFiles'])
|
|
||||||
|
|
||||||
Alias('kernel', startAxf)
|
Alias('kernel', startAxf)
|
||||||
|
|
||||||
@@ -183,8 +180,6 @@ else :
|
|||||||
for library in taskLibraryNames:
|
for library in taskLibraryNames:
|
||||||
taskLibraries.append(SConscript(posixServicesDirectory + library + '/SConscript', variant_dir = buildDirectory + '/' + posixServicesDirectory + library, duplicate = 0, exports = {'environment': taskSupportLibraryEnvironment, 'posixServicesDirectory': posixServicesDirectory}))
|
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)
|
Alias ('tasklibs', taskLibraries)
|
||||||
|
|
||||||
########## Build the tasks ########################
|
########## Build the tasks ########################
|
||||||
@@ -229,7 +224,6 @@ else :
|
|||||||
tasks.append(program)
|
tasks.append(program)
|
||||||
if i < len(imageOrderData) - 1:
|
if i < len(imageOrderData) - 1:
|
||||||
imageOrderData[i+1][1].append(program)
|
imageOrderData[i+1][1].append(program)
|
||||||
Depends(tasks, tasksEnvironment['configFiles'])
|
|
||||||
|
|
||||||
Alias ('tasks', tasks)
|
Alias ('tasks', tasks)
|
||||||
|
|
||||||
|
|||||||
@@ -89,5 +89,6 @@ bootdescSource = environment.Command('bootdesc.c', images, generateBootdesc)
|
|||||||
objects = environment.Object(bootdescSource)
|
objects = environment.Object(bootdescSource)
|
||||||
Depends(objects, environment['configFiles'])
|
Depends(objects, environment['configFiles'])
|
||||||
bootdesc = environment.Command('bootdesc.axf', environment.Program('bootdesc_intermediate', objects) + [images[1]] , relocateBootdesc)
|
bootdesc = environment.Command('bootdesc.axf', environment.Program('bootdesc_intermediate', objects) + [images[1]] , relocateBootdesc)
|
||||||
|
Depends(bootdesc, environment['configFiles'])
|
||||||
|
|
||||||
Return('bootdesc')
|
Return('bootdesc')
|
||||||
|
|||||||
@@ -27,5 +27,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
|
|||||||
objects = e.StaticObject(Glob('src/*.c') + Glob('src/arch-' + environment['ARCH'] + '/*.[cS]'))
|
objects = e.StaticObject(Glob('src/*.c') + Glob('src/arch-' + environment['ARCH'] + '/*.[cS]'))
|
||||||
Depends(objects, e['configFiles'])
|
Depends(objects, e['configFiles'])
|
||||||
library = e.StaticLibrary('c', objects)
|
library = e.StaticLibrary('c', objects)
|
||||||
|
Depends(library, e['configFiles'])
|
||||||
|
|
||||||
Return('library')
|
Return('library')
|
||||||
|
|||||||
@@ -29,5 +29,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
|
|||||||
objects = e.StaticObject(Glob('src/*.c') + Glob('src/' + e['ARCH'] + '/*.[cS]'))
|
objects = e.StaticObject(Glob('src/*.c') + Glob('src/' + e['ARCH'] + '/*.[cS]'))
|
||||||
Depends(objects, e['configFiles'])
|
Depends(objects, e['configFiles'])
|
||||||
library = e.StaticLibrary('l4', objects)
|
library = e.StaticLibrary('l4', objects)
|
||||||
|
Depends(library, e['configFiles'])
|
||||||
|
|
||||||
Return('library')
|
Return('library')
|
||||||
|
|||||||
@@ -25,14 +25,17 @@ e.Append(CPPPATH = ['#' + posixServicesDirectory + 'libl4/include' , '.' ])
|
|||||||
mmObjects = e.StaticObject(Glob('mm/*.c'))
|
mmObjects = e.StaticObject(Glob('mm/*.c'))
|
||||||
Depends(mmObjects, e['configFiles'])
|
Depends(mmObjects, e['configFiles'])
|
||||||
mmLibrary = e.StaticLibrary('mm', mmObjects)
|
mmLibrary = e.StaticLibrary('mm', mmObjects)
|
||||||
|
Depends(mmLibrary, e['configFiles'])
|
||||||
|
|
||||||
kmObjects = e.StaticObject(Glob('kmalloc/*.c'))
|
kmObjects = e.StaticObject(Glob('kmalloc/*.c'))
|
||||||
Depends(kmObjects, e['configFiles'])
|
Depends(kmObjects, e['configFiles'])
|
||||||
kmLibrary = e.StaticLibrary('km', kmObjects)
|
kmLibrary = e.StaticLibrary('km', kmObjects)
|
||||||
|
Depends(kmLibrary, e['configFiles'])
|
||||||
|
|
||||||
mcObjects = e.StaticObject(Glob('memcache/*.c'))
|
mcObjects = e.StaticObject(Glob('memcache/*.c'))
|
||||||
Depends(mcObjects, e['configFiles'])
|
Depends(mcObjects, e['configFiles'])
|
||||||
mcLibrary = e.StaticLibrary('mc', mcObjects)
|
mcLibrary = e.StaticLibrary('mc', mcObjects)
|
||||||
|
Depends(mcLibrary, e['configFiles'])
|
||||||
|
|
||||||
libraries = (mmLibrary, kmLibrary, mcLibrary)
|
libraries = (mmLibrary, kmLibrary, mcLibrary)
|
||||||
|
|
||||||
|
|||||||
@@ -29,5 +29,6 @@ e['CCFLAGS'] = ['-g', '-nostdlib', '-Wall', '-ffreestanding', '-std=gnu99']
|
|||||||
objects = e.StaticObject(Glob('*.c'))
|
objects = e.StaticObject(Glob('*.c'))
|
||||||
Depends(objects, e['configFiles'])
|
Depends(objects, e['configFiles'])
|
||||||
library = e.StaticLibrary('posix', objects)
|
library = e.StaticLibrary('posix', objects)
|
||||||
|
Depends(library, e['configFiles'])
|
||||||
|
|
||||||
Return('library')
|
Return('library')
|
||||||
|
|||||||
@@ -32,10 +32,11 @@ e.Append(CPPPATH = ['include', 'include/sys-' + variant + '/arch-' + environment
|
|||||||
|
|
||||||
objects = e.StaticObject(source)
|
objects = e.StaticObject(source)
|
||||||
Depends (objects, e['configFiles'])
|
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 = (
|
result = (library, runTime)
|
||||||
e.StaticLibrary('c-' + variant, objects),
|
|
||||||
e.StaticObject('crt/sys-' + variant + '/arch-' + e['ARCH'] + '/crt0.S')
|
|
||||||
)
|
|
||||||
|
|
||||||
Return('result')
|
Return('result')
|
||||||
|
|||||||
@@ -25,5 +25,6 @@ e.Append(CPPPATH = ['include', '#libs/c/include', '#libs/c/include/arch/' + e['A
|
|||||||
objects = e.StaticObject(Glob('src/*.c'))
|
objects = e.StaticObject(Glob('src/*.c'))
|
||||||
Depends(objects, e['configFiles'])
|
Depends(objects, e['configFiles'])
|
||||||
library = e.StaticLibrary('elf', objects)
|
library = e.StaticLibrary('elf', objects)
|
||||||
|
Depends(library, e['configFiles'])
|
||||||
|
|
||||||
Return('library')
|
Return('library')
|
||||||
|
|||||||
Reference in New Issue
Block a user