{ "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, } } ] }