diff --git a/SConstruct b/SConstruct index 28ce5c2..810891a 100644 --- a/SConstruct +++ b/SConstruct @@ -134,8 +134,10 @@ else : (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['libc'] = libs['userspace'] - baseEnvironment['crt0'] = crts['userspace'] + baseEnvironment['baremetal_libc'] = libs['baremetal'] + baseEnvironment['baremetal_crt0'] = crts['baremetal'] + baseEnvironment['userspace_libc'] = libs['userspace'] + baseEnvironment['userspace_crt0'] = crts['userspace'] libelf = SConscript('libs/elf/SConscript', variant_dir = buildDirectory + '/lib/elf', duplicate = 0, exports = {'environment': libraryEnvironment}) Depends(libelf, libraryEnvironment['configFiles']) @@ -198,9 +200,9 @@ else : if extraCppPath: e.Append(CPPPATH=extraCppPath) objects = e.StaticObject(sources) Depends(objects, e['configFiles']) - program = e.Program(programName, objects + ['#' + e['crt0'][0].name]) + program = e.Program(programName, objects + ['#' + e['userspace_crt0'][0].name]) physicalBaseLinkerScript = Command('include/physical_base.lds', previousImage, 'tools/pyelf/readelf.py --first-free-page ' + previousImage[0].path + ' >> $TARGET') - Depends(program, [physicalBaseLinkerScript, e['crt0']]) + Depends(program, [physicalBaseLinkerScript, e['userspace_crt0']]) return program tasksEnvironment = baseEnvironment.Clone( diff --git a/loader/SConscript b/loader/SConscript index 11323a3..8c2a276 100644 --- a/loader/SConscript +++ b/loader/SConscript @@ -69,9 +69,9 @@ startAxfS = Command('start.axf.S', images[0], ksymToLds) kernelS = Command('kernel.S', images + [startAxfS], createKernelSFile) -objects = environment.Object(Glob('*.c') + [kernelS]) +objects = environment.Object(Glob('*.c') + [kernelS, startAxfS]) Depends(objects, environment['configFiles']) Depends(objects, images) -program = environment.Program('final', objects) +program = environment.Program('final', objects + [environment['baremetal_crt0']]) Return('program')