blob: d7799964e7764310d5c68c1670911ddf0bc10c29 [file] [log] [blame]
#!/usr/bin/env bash
#
# Copyright (c) 2020 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -x
env
app="$1"
sdkconfig_name="$2"
idf_target="$3"
root=examples/$app/esp32
shift 1
if [ -z "$app" ]; then
echo "No mandatory app argument supplied!"
exit 1
fi
supported_idf_target=("esp32" "esp32c3" "esp32c2" "esp32c6" "esp32s3" "esp32h2")
if [ -z "$idf_target" ] || [[ ! "${supported_idf_target[*]}" =~ "$idf_target" ]]; then
idf_target="esp32"
fi
source "$IDF_PATH/export.sh"
source "scripts/activate.sh"
# shellcheck source=/dev/null
rm -f "$root"/sdkconfig
(
cd "$root"
idf.py -D SDKCONFIG_DEFAULTS="$sdkconfig_name" set-target "$idf_target" build
) || {
echo "build $sdkconfig_name failed"
exit 1
}
project_name=$(grep -o 'project([^)]*)' "$root"/CMakeLists.txt | sed 's/project(\(.*\))/\1/')
cp "$root"/build/"$project_name".elf "$root"/build/"${sdkconfig_name%".defaults"}"-"$project_name".elf