diff --git a/SConstruct.loader b/SConstruct.loader index 58ab851..a79e8d4 100644 --- a/SConstruct.loader +++ b/SConstruct.loader @@ -43,9 +43,10 @@ libc = SConscript('loader/libs/c/SConscript', \ libelf = SConscript('loader/libs/elf/SConscript', exports = { 'env' : env }, \ duplicate = 0, variant_dir = 'build/loader/libs/elf') -loader_objs = SConscript('loader/SConscript', exports = { 'env' : env }, \ - duplicate = 0, variant_dir = 'build/loader') +loader_objs, images_S = SConscript('loader/SConscript', exports = { 'env' : env }, \ + duplicate = 0, variant_dir = 'build/loader') -env.Program('build/final.elf', [libelf + libc + loader_objs]) +final_elf = env.Program('build/final.elf', [libelf + libc + loader_objs]) Depends(loader_objs, libelf) Depends(loader_objs, libc) +Depends(final_elf, images_S) diff --git a/loader/SConscript b/loader/SConscript index f5cae18..45cd765 100644 --- a/loader/SConscript +++ b/loader/SConscript @@ -27,14 +27,13 @@ def gen_loader_images_S(target, source, env): generate_image_S(target[0].path, source) loader_ksyms = Command(join(PROJROOT, 'loader/ksyms.S'), join(BUILDDIR, 'kernel.elf'), ksym_to_loader) -loader_image_S = Command(join(PROJROOT, 'loader/images.S'), \ - [join(BUILDDIR, 'kernel.elf'), \ - join(BUILDDIR, 'conts/containers.elf')], \ - gen_loader_images_S) +loader_image_S = Command(join(PROJROOT, 'loader/images.S'), [join(BUILDDIR, 'kernel.elf'), join(BUILDDIR, 'conts/containers.elf')], \ + gen_loader_images_S) src = Glob('*.[cS]') objs = env.Object(src) Depends(src, loader_ksyms) Depends(src, loader_image_S) -Return('objs') +Depends(objs, loader_image_S) +Return('objs', 'loader_image_S')