aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/sdcc.qbs
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/sdcc.qbs')
-rw-r--r--share/qbs/modules/cpp/sdcc.qbs57
1 files changed, 10 insertions, 47 deletions
diff --git a/share/qbs/modules/cpp/sdcc.qbs b/share/qbs/modules/cpp/sdcc.qbs
index 6bcbc2580..e4a040439 100644
--- a/share/qbs/modules/cpp/sdcc.qbs
+++ b/share/qbs/modules/cpp/sdcc.qbs
@@ -32,9 +32,7 @@ import qbs 1.0
import qbs.File
import qbs.FileInfo
import qbs.ModUtils
-import qbs.PathTools
import qbs.Probes
-import qbs.Utilities
import "sdcc.js" as SDCC
CppModule {
@@ -101,14 +99,9 @@ CppModule {
Rule {
id: assembler
inputs: ["asm"]
-
- Artifact {
- fileTags: ["obj"]
- filePath: Utilities.getHash(input.baseDir) + "/"
- + input.fileName + input.cpp.objectSuffix
- }
-
- prepare: SDCC.prepareAssembler.apply(SDCC, arguments)
+ outputFileTags: ["obj", "asm_adb", "asm_lst", "asm_src", "asm_sym", "rst_data"]
+ outputArtifacts: SDCC.compilerOutputArtifacts(input)
+ prepare: SDCC.prepareAssembler.apply(SDCC, arguments);
}
FileTagger {
@@ -127,13 +120,8 @@ CppModule {
id: compiler
inputs: ["cpp", "c"]
auxiliaryInputs: ["hpp"]
-
- Artifact {
- fileTags: ["obj"]
- filePath: Utilities.getHash(input.baseDir) + "/"
- + input.fileName + input.cpp.objectSuffix
- }
-
+ outputFileTags: ["obj", "asm_adb", "asm_lst", "asm_src", "asm_sym", "rst_data"]
+ outputArtifacts: SDCC.compilerOutputArtifacts(input)
prepare: SDCC.prepareCompiler.apply(SDCC, arguments)
}
@@ -142,33 +130,14 @@ CppModule {
multiplex: true
inputs: ["obj", "linkerscript"]
inputsFromDependencies: ["staticlibrary"]
-
outputFileTags: {
- var tags = ["application"];
+ var tags = ["application", "lk_cmd", "mem_summary", "mem_map"];
if (product.moduleProperty("cpp", "generateLinkerMapFile"))
tags.push("map_file");
return tags;
}
- outputArtifacts: {
- var app = {
- fileTags: ["application"],
- filePath: FileInfo.joinPaths(
- product.destinationDirectory,
- PathTools.applicationFilePath(product))
- };
- var artifacts = [app];
- if (product.cpp.generateLinkerMapFile) {
- artifacts.push({
- fileTags: ["map_file"],
- filePath: FileInfo.joinPaths(
- product.destinationDirectory,
- product.targetName + ".map")
- });
- }
- return artifacts;
- }
-
- prepare: SDCC.prepareLinker.apply(SDCC, arguments)
+ outputArtifacts: SDCC.applicationLinkerOutputArtifacts(product)
+ prepare:SDCC.prepareLinker.apply(SDCC, arguments)
}
Rule {
@@ -176,14 +145,8 @@ CppModule {
multiplex: true
inputs: ["obj"]
inputsFromDependencies: ["staticlibrary"]
-
- Artifact {
- fileTags: ["staticlibrary"]
- filePath: FileInfo.joinPaths(
- product.destinationDirectory,
- PathTools.staticLibraryFilePath(product))
- }
-
+ outputFileTags: ["staticlibrary"]
+ outputArtifacts: SDCC.staticLibraryLinkerOutputArtifacts(product)
prepare: SDCC.prepareArchiver.apply(SDCC, arguments)
}
}