119 lines
3.8 KiB
JSON
119 lines
3.8 KiB
JSON
{
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
{
|
|
"label": "NASM-Compile",
|
|
"command": "${workspaceFolder}/bin/nasm.exe",
|
|
"args": [
|
|
"-felf32",
|
|
"-F", "dwarf",
|
|
"-g",
|
|
"-i", "${workspaceFolder}",
|
|
"-o", "${workspaceFolder}/build/${fileBasenameNoExtension}.obj",
|
|
"${file}"
|
|
],
|
|
"linux": {
|
|
"command": "nasm",
|
|
"args": [
|
|
"-felf32",
|
|
"-F", "dwarf",
|
|
"-g",
|
|
"-i", "${workspaceFolder}",
|
|
"-o", "${workspaceFolder}/build/${fileBasenameNoExtension}.o",
|
|
"${file}"
|
|
]
|
|
},
|
|
"options": {
|
|
"cwd": "${workspaceFolder}"
|
|
},
|
|
"presentation": {
|
|
"focus": true,
|
|
"reveal": "silent",
|
|
"revealProblems": "onProblem",
|
|
"panel": "shared",
|
|
},
|
|
"problemMatcher": {
|
|
"owner": "asm",
|
|
"fileLocation": ["autodetect", "${workspaceFolder}"],
|
|
"pattern": {
|
|
"regexp": "^(.*):(\\d+):\\s+(warning|error|fatal):\\s+(.*)$",
|
|
"file": 1,
|
|
"line": 2,
|
|
"severity": 3,
|
|
"message": 4
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"label": "LD-link",
|
|
"command": "${workspaceFolder}/bin/ld/ld.exe",
|
|
"args": [
|
|
"-g",
|
|
"-o", "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",
|
|
"-estart",
|
|
"${workspaceFolder}/build/${fileBasenameNoExtension}.obj",
|
|
"${workspaceFolder}/bin/ld/libmsvcrt.a",
|
|
"${workspaceFolder}/bin/ld/libkernel32.a"
|
|
],
|
|
"linux": {
|
|
"command": "gcc",
|
|
"args": [
|
|
"-m32",
|
|
"-g",
|
|
"-o", "${workspaceFolder}/build/${fileBasenameNoExtension}",
|
|
"${workspaceFolder}/build/${fileBasenameNoExtension}.o"
|
|
]
|
|
},
|
|
"options": {
|
|
"cwd": "${workspaceFolder}"
|
|
},
|
|
"dependsOn": [ "NASM-Compile" ],
|
|
"group": {
|
|
"kind": "build",
|
|
"isDefault": true
|
|
},
|
|
"problemMatcher": {
|
|
"owner": "asm",
|
|
"fileLocation": ["autodetect", "${workspaceFolder}"],
|
|
"pattern": {
|
|
"regexp": "^(.*):(\\d+):\\s+(.*)$",
|
|
"file": 1,
|
|
"line": 2,
|
|
"message": 3
|
|
}
|
|
},
|
|
"presentation": {
|
|
"focus": true,
|
|
"panel": "shared",
|
|
"reveal": "silent",
|
|
"revealProblems": "onProblem",
|
|
"close": false,
|
|
}
|
|
},
|
|
{
|
|
"label": "gcc",
|
|
"command": "gcc",
|
|
"args": [
|
|
"-g", "-m32", "-Og", "-O0",
|
|
"-o", "${workspaceFolder}/build/${fileBasenameNoExtension}",
|
|
"${workspaceFolder}/${fileBasename}"
|
|
],
|
|
"options": {
|
|
"cwd": "${workspaceFolder}"
|
|
},
|
|
"group": "build",
|
|
"problemMatcher": {
|
|
"pattern": {
|
|
"regexp": "error"
|
|
}
|
|
},
|
|
"presentation": {
|
|
"focus": true,
|
|
"panel": "shared",
|
|
"reveal": "silent",
|
|
"revealProblems": "onProblem",
|
|
"close": false,
|
|
}
|
|
}
|
|
]
|
|
} |