aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/keil.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/keil.js')
-rw-r--r--share/qbs/modules/cpp/keil.js39
1 files changed, 38 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/keil.js b/share/qbs/modules/cpp/keil.js
index c19fdd738..82c4400c0 100644
--- a/share/qbs/modules/cpp/keil.js
+++ b/share/qbs/modules/cpp/keil.js
@@ -33,6 +33,7 @@ var Environment = require("qbs.Environment");
var File = require("qbs.File");
var FileInfo = require("qbs.FileInfo");
var ModUtils = require("qbs.ModUtils");
+var PathTools = require("qbs.PathTools");
var Process = require("qbs.Process");
var TemporaryDir = require("qbs.TemporaryDir");
var TextFile = require("qbs.TextFile");
@@ -246,6 +247,42 @@ function filterStdOutput(cmd) {
};
}
+function compilerOutputArtifacts(input) {
+ var obj = {
+ fileTags: ["obj"],
+ filePath: Utilities.getHash(input.baseDir) + "/"
+ + input.fileName + input.cpp.objectSuffix
+ };
+ return [obj];
+}
+
+function applicationLinkerOutputArtifacts(product) {
+ var app = {
+ fileTags: ["application"],
+ filePath: FileInfo.joinPaths(
+ product.destinationDirectory,
+ PathTools.applicationFilePath(product))
+ };
+ var mem_map = {
+ fileTags: ["mem_map"],
+ filePath: FileInfo.joinPaths(
+ product.destinationDirectory,
+ product.targetName
+ + (product.cpp.architecture === "mcs51" ? ".m51" : ".map"))
+ };
+ return [app, mem_map]
+}
+
+function staticLibraryLinkerOutputArtifacts(product) {
+ var staticLib = {
+ fileTags: ["staticlibrary"],
+ filePath: FileInfo.joinPaths(
+ product.destinationDirectory,
+ PathTools.staticLibraryFilePath(product))
+ };
+ return [staticLib]
+}
+
function compilerFlags(project, product, input, output, explicitlyDependsOn) {
// Determine which C-language we"re compiling.
var tag = ModUtils.fileTagForTargetLanguage(input.fileTags.concat(output.fileTags));
@@ -474,7 +511,7 @@ function linkerFlags(project, product, input, outputs) {
args.push("--output", outputs.application[0].filePath);
if (product.cpp.generateMapFile)
- args.push("--list", outputs.map_file[0].filePath);
+ args.push("--list", outputs.mem_map[0].filePath);
var libraryPaths = product.cpp.libraryPaths;
if (libraryPaths)