| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/env bash
- #
- # Copyright (c) 2022 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.
- #
- # This script runs all targets taht are generating code
- # in the given output directory
- # CHIP_ROOT with a build environment activated.
- set -e
- OUT_DIR="$1"
- if [ ! -d "$OUT_DIR" ]; then
- echo "Input directory '$OUT_DIR' does not exist. "
- echo "USAGE: $0 <build_dir>"
- exit 1
- fi
- # Code generation for build config files and asn1. Captures things like:
- #
- # gen_additional_data_payload_buildconfig
- # gen_app_buildconfig
- # gen_asn1oid
- # gen_ble_buildconfig
- # ...
- #
- # Most are buildconfig rules, but asn1oid is special
- for name in $(ninja -C "$OUT_DIR" -t targets | grep -E '^gen_' | sed 's/: .*//'); do
- echo "Generating $name ..."
- ninja -C "$OUT_DIR" "$name"
- done
- # Code generation (based on zap/matter)
- for name in $(ninja -C "$OUT_DIR" -t targets | grep -E -v '_no_codegen:' | grep -E '_codegen:' | sed 's/: .*//'); do
- echo "Generating $name ..."
- ninja -C "$OUT_DIR" "$name"
- done
- # Linus targets: dbus generate hdeaders
- for name in $(ninja -C "$OUT_DIR" -t targets | grep -E 'dbus.*codegen:' | sed 's/: .*//'); do
- echo "Generating $name ..."
- ninja -C "$OUT_DIR" "$name"
- done
|