{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "make MAC=.. SERIAL=.. NETTRACE=..",
            "type": "shell",
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "args": [
                "MAC=${input:mac}",
                "SERIAL=${input:serial}",
                "NETTRACE=${input:nettrace}"
            ],
            "runOptions": {
                "reevaluateOnRerun": false
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/stm32fw"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make MAC=.. SERIAL=.. SWOTRACE=..",
            "type": "shell",
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "args": [
                "MAC=${input:mac}",
                "SERIAL=${input:serial}",
                "SWOTRACE=${input:swotrace}"
            ],
            "runOptions": {
                "reevaluateOnRerun": false
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/stm32fw"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make",
            "type": "shell",
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/stm32fw"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make upper",
            "type": "shell",
            "command": "make stm32fw_upper",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/stm32fw_upper"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make tools",
            "type": "shell",
            "command": "make tools",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/tools"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make testall",
            "type": "shell",
            "command": "make testall",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/tests"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make TEST=test_alarm_manager_rectifier_alarms",
            "type": "shell",
            "command": "make test TEST=test_alarm_manager_rectifier_alarms",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/tests"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make clobber",
            "type": "shell",
            "command": "make clobber",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/tests"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
        {
            "label": "make distclean",
            "type": "shell",
            "command": "make distclean",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "base": "$gcc",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}/modules"
                ]
            },
            "presentation": {
                "clear": true
            }
        },
    ],
    "inputs": [
        {
            "id": "mac",
            "description": "Type default MAC",
            "default": "EC-4C-4D-00-C7-FF",
            "type": "promptString"
        },
        {
            "id": "serial",
            "description": "Type default S/N",
            "default": "5700000",
            "type": "promptString"
        },
        {
            "id": "buzzer",
            "description": "BUZZER=[0|1]",
            "default": "0",
            "type": "pickString",
            "options": ["0", "1"]
        },
        {
            "id": "debug",
            "description": "DEBUG=[0|1]",
            "default": "0",
            "type": "pickString",
            "options": ["0", "1"]
        },
        {
            "id": "swotrace",
            "description": "SWOTRACE=[0|1]",
            "default": "0",
            "type": "pickString",
            "options": ["0", "1"]
        },
        {
            "id": "nettrace",
            "description": "NETTRACE=[0|1]",
            "default": "0",
            "type": "pickString",
            "options": ["0", "1"]
        }
    ]
}