Tim Crawford 0e01b365ae Remove libs/
These are at best a convenience for working on them. They are not used
directly by firmware-open, only as dependencies in other projects.

- coreboot-table: Dependency of apps/firmware-setup
- coreboot-fs: Dependency of apps/firmware-update and libs/intel-spi
- intel-spi: Dependency of apps/firmware-update
- intelfash: Dependency of apps/firmware-update and scripts/modeltool
- uefi: Dependency of a lot of stuff

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-04 12:04:42 -06:00

77 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
README_DIRS=(
apps
models
tools
)
set -e
cargo build --manifest-path "scripts/modeltool/Cargo.toml" --release
MODELTOOL="$(realpath "scripts/modeltool/target/release/modeltool")"
function readme_model {
echo -e "\x1B[1m$1\x1B[0m" >&2
pushd "$1" > /dev/null
cp README.md.in README.md
echo -e "\n## Contents\n" >> README.md
"$MODELTOOL" . >> README.md
popd > /dev/null
}
for dir in models/*/
do
readme_model "${dir%/}"
done
function readme_line {
echo -e " \x1B[1m$1\x1B[0m" >&2
name="$(basename "$1")"
description=""
readme="$(find "$1" -maxdepth 1 -iname README.md)"
if [ -n "$readme" ]
then
# Get first line, removing the trailing pounds and spaces
description=" - $(head -n 1 "$readme" | sed -e 's/^[#[:space:]]*//')"
fi
submodule="$(git submodule status "$1" 2> /dev/null | cut -d ' ' -f 3 || true)"
if [ "$submodule" == "$1" ]
then
# Link to submodule URL
origin="$(git -C "$1" remote get-url origin)"
echo "- [$name]($origin)$description"
else
# Link to directory
echo "- [$name](./$1)$description"
fi
}
function readme_dir {
echo -e "\x1B[1m$1\x1B[0m" >&2
pushd "$1" > /dev/null
cp README.md.in README.md
echo -e "\n## Contents\n" >> README.md
for dir in */
do
if ! git check-ignore --quiet "${dir}"
then
readme_line "${dir%/}" >> README.md
fi
done
popd > /dev/null
}
for dir in "${README_DIRS[@]}"
do
readme_dir "$dir"
done