// Define the list of targets to build for in the targs array var targs = [MVArm9_o]; // Define the build profiles to build across the targets var profiles = ["debug", "release"]; // Define the base name for the executable(s) built var basename = "engine"; // The following code uses the java.io.File.list() method to generate an array // of all files in the current directory ('.') and then sorts out .c files var sources = java.io.File('.').list(); var csources = []; for (var i = 0; i < sources.length; i++){ if(String(sources[i]).match(/.*\.c$/)) csources.push(sources[i]); } // The build phase cycles through the arrays of build targets and profiles // and adds an executable for each combination for (var i = 0; i < targs.length; i++) { for(var j = 0; j < profiles.length; j++){ Pkg.addExecutable(basename + "_" + profiles[j], targs[i], targs[i].platform,{ cfgScript: "engine.cfg", profile: profiles[j], lopts: "-Wl,-r -nostdlib", } ).addObjects( csources ); } } // This Epilogue is appended to the RTSC-generated makefile, package.mak // It begins by including ../../custom.mak, which contains code to force // a rebuild if new source files are added into the directory Pkg.makeEpilogue = "include ../../custom.mak\n\n";