{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "windows": {
        "options": {
            "cwd": "${workspaceFolder}",
            "env": {
                "PATH": "${workspaceFolder}/../../msys2/mingw64/bin;${workspaceFolder}/../../msys2/usr/local/bin;${workspaceFolder}/../../msys2/usr/bin;${workspaceFolder}/../../msys2/bin",
                "MSYSTEM": "MINGW64"
            }
        }
    },
    "tasks": [
        {
            "label": "all: Make & run",
            "type": "shell",
            "command": "make -j && ./pm3",
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "choose: Make",
            "type": "shell",
            "command": "make ${input:componentType} -j",
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
        },
        {
            "label": "client: Debug: make",
            "type": "shell",
            "command": "make client -j DEBUG=1 SANITIZE=1",
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
        },
        {
            "label": "client: Debug: clean & make",
            "type": "shell",
            "command": "make client/clean && make client -j DEBUG=1 SANITIZE=1",
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
        },
        {
            "label": "fullimage: Make & Flash",
            "type": "shell",
            "command": "make fullimage && ./pm3-flash-fullimage",
            "problemMatcher": []
        },
        {
            "label": "BOOTROM: Make & Flash",
            "type": "shell",
            "command": "make bootrom && ./pm3-flash-bootrom",
            "problemMatcher": []
        },
        {
            "label": "Run client",
            "type": "shell",
            "command": "./pm3",
            "problemMatcher": []
        },{
            "label": "fullimage: clean & make debug",
            "type": "shell",
            "command": "make armsrc/clean && make armsrc/all DEBUG_ARM=1",
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
        }
    ],
    "inputs": [
        {
            "type": "pickString",
            "id": "componentType",
            "description": "What Makefile target do you want to execute?",
            "options": [
                "all",
                "client",
                "bootrom",
                "fullimage",
                "recovery",
                "clean",
                "install",
                "uninstall",
                "style",
                "miscchecks",
                "check",
            ],
            "default": "all"
        }
    ]
}