2025-02-13 12:08:16 +01:00

51 lines
1.0 KiB
PowerShell

<#
.SYNOPSIS
Usage: build.ps1 [boardname]
Example: build.ps1 lilygo-tdeck
Description: Makes a clean build for the specified board.
#>
function EchoNewPhase {
param (
[string]$message
)
Write-Host "$message" -ForegroundColor Cyan
}
function FatalError {
param (
[string]$message
)
Write-Host "⚠️ $message" -ForegroundColor Red
exit 0
}
$sdkconfig_file = "sdkconfig.board.$($args[0])"
if ($args.Count -lt 1) {
FatalError "Must pass board name as first argument. (e.g. lilygo_tdeck)"
}
if (-Not (Test-Path $sdkconfig_file)) {
FatalError "Board not found: $sdkconfig_file"
}
EchoNewPhase "Cleaning build folder"
$BuildFolder = "build"
if (Test-Path $BuildFolder) {
Remove-Item -Path $BuildFolder -Recurse -Force
EchoNewPhase "Build folder deleted"
} else {
EchoNewPhase "Build folder doesn't exist."
}
EchoNewPhase "Building $sdkconfig_file"
Copy-Item -Path $sdkconfig_file -Destination "sdkconfig"
try {
& idf.py build
} catch {
FatalError "Failed to build esp32s3 SDK"
}