xref: /aosp_15_r20/external/crosvm/cros_fdt/test-files/compile_testfiles.sh (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker#!/bin/sh
2*bb4ee6a4SAndroid Build Coastguard Worker
3*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2023 The ChromiumOS Authors
4*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
5*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file.
6*bb4ee6a4SAndroid Build Coastguard Worker
7*bb4ee6a4SAndroid Build Coastguard Worker# Compile device tree source files to binaries used as test inputs.
8*bb4ee6a4SAndroid Build Coastguard Worker# Run this when source files are changed.
9*bb4ee6a4SAndroid Build Coastguard Worker
10*bb4ee6a4SAndroid Build Coastguard Worker# Check if dtc is present
11*bb4ee6a4SAndroid Build Coastguard Workerif ! command -v dtc >/dev/null 2>&1; then
12*bb4ee6a4SAndroid Build Coastguard Worker    echo "Error: device tree compiler (dtc) not found."
13*bb4ee6a4SAndroid Build Coastguard Worker    exit 1
14*bb4ee6a4SAndroid Build Coastguard Workerfi
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard Worker# Compile all dts files
17*bb4ee6a4SAndroid Build Coastguard Workertestfiles_loc="$(dirname -- "$0")"
18*bb4ee6a4SAndroid Build Coastguard Workerfor source_file in "$testfiles_loc"/*.dts; do
19*bb4ee6a4SAndroid Build Coastguard Worker    if [ -f "$source_file" ]; then
20*bb4ee6a4SAndroid Build Coastguard Worker        binary_file="${source_file%.dts}.dtb"
21*bb4ee6a4SAndroid Build Coastguard Worker        dtc -@ -I dts -O dtb -o "$binary_file" "$source_file"
22*bb4ee6a4SAndroid Build Coastguard Worker    fi
23*bb4ee6a4SAndroid Build Coastguard Workerdone
24