# -*-python-*- Import(["env", "libgambc"]) # FIXME: The /home/devkitPro/libnds/include should probably be a variable cpppath = [".", "#include", "/home/devkitPro/libnds/include"] arm7CCFLAGS = env["arm7CCFLAGS"] arm9CCFLAGS = env["arm9CCFLAGS"] env.Replace(CPPPATH=cpppath) arm7SourceFiles = ["arm7main.c"] arm7LIBS = ["dswifi7", "nds7", "m", "c", "sysbase"] arm7Env = env.Copy() arm7Env.Replace(CCFLAGS=arm7CCFLAGS) arm7Env.Replace(LIBS=arm7LIBS) arm7Env.Replace(LINKCOM="$LINK -specs=min_ds_arm7.specs -T ds_arm7.ld -Wl,-Map,${TARGET.base}.map -o ${TARGET.base}.elf $LINKFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS $_FRAMEWORKPATH $_FRAMEWORKS") arm7MainELF = arm7Env.Program("arm7main.elf", arm7SourceFiles) arm9SourceFiles = ["arm9main.c", "bvideo.c"] arm9LIBS = ["keyboard", "dswifi9", "noflushfat", "nds9", "m", "c", "sysbase"] arm9Env = env.Copy() arm9Env.Replace(CCFLAGS=arm9CCFLAGS) arm9Env.Replace(LIBS=arm9LIBS) arm9Env.Replace(LINKCOM="$LINK -specs=min_ds_arm9.specs -T ds_arm9.ld -Wl,-Map,${TARGET.base}.map -o ${TARGET.base}.elf $LINKFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS $_FRAMEWORKPATH $_FRAMEWORKS") gambitSourceFiles = ["_gsi.scm"] gambitTargetFiles = arm9Env.GambitCompiler(gambitSourceFiles) # The target files are not strictly dependent upon the entire # libgambc but on some of the files generated during its build arm9Env.Depends(gambitTargetFiles, "web-repl.scm") arm9Env.Depends(gambitTargetFiles, libgambc) gsiLinkerFile = arm9Env.GambitLinker([gambitTargetFiles]) arm9MainELF = arm9Env.Program("arm9main.elf", [gambitTargetFiles, gsiLinkerFile, arm9SourceFiles, libgambc]) # FIXME: Change to builders gsiARM7 = env.Command("arm7main.arm7", arm7MainELF, "arm-eabi-objcopy -O binary $SOURCE $TARGET") gsiARM9 = env.Command("arm9main.arm9", arm9MainELF, "arm-eabi-objcopy -O binary $SOURCE $TARGET") gsiNDS = env.Command("gsi.nds", [gsiARM9, gsiARM7], "ndstool -c $TARGET -9 build/nds/arm9main.arm9 -7 build/nds/arm7main.arm7") #Return("gsiNDS")