X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=SConscript.target;h=b5eb085628154436ba9ed7dae9d4239dc0ffd62d;hb=69f57fcaee4e0a62192a87b21ed31142624ce009;hp=8ee82a3463fac66ea6569bc29a62f3f515dd72c8;hpb=819a110096caba3d31533649fc9e007bd93af302;p=gps-watch.git diff --git a/SConscript.target b/SConscript.target index 8ee82a3..b5eb085 100644 --- a/SConscript.target +++ b/SConscript.target @@ -51,22 +51,35 @@ libbootloader_source_files = [ 'src/bootloader/flash.rs', ] -libbootloader = env.Rustc('libbootloader.a', libbootloader_source_files[0]) +start_o = env.Object('src/bootloader/start.c') -for f in libbootloader_source_files: - Depends(libbootloader, f) +for s in ['intermediate', 'final']: + libbootloader_env = env.Clone() -Depends(libbootloader, 'libcommon.rlib') -Depends(libbootloader, 'libcommon.a') + libbootloader_env.Append(RUSTCFLAGS = [ + '--cfg', + 'bootloader_type=\\"{}\\"'.format(s) + ]) -bootloader_env = env.Clone() + libbootloader = libbootloader_env.Rustc('libbootloader-{}.a'.format(s), + libbootloader_source_files[0]) -bootloader_env.Append(LINKFLAGS = [ - '-Tsrc/bootloader/bootloader-intermediate.ld', -]) + for f in libbootloader_source_files: + Depends(libbootloader, f) + + Depends(libbootloader, 'libcommon.rlib') + Depends(libbootloader, 'libcommon.a') + + bootloader_env = env.Clone() + + bootloader_env.Append(LINKFLAGS = [ + '-Tsrc/bootloader/bootloader-{}.ld'.format(s), + ]) -bootloader_elf = bootloader_env.Program('gps-watch-bootloader.elf', 'src/bootloader/start.c', LIBS = ['bootloader', 'common']) + bootloader_elf = \ + bootloader_env.Program('gps-watch-bootloader-{}.elf'.format(s), + start_o, LIBS = ['bootloader-{}'.format(s), 'common']) -bootloader_bin = bootloader_env.Objcopy(bootloader_elf) + bootloader_bin = bootloader_env.Objcopy(bootloader_elf) -Default(bootloader_bin) + Default(bootloader_bin)