unify most module build scripts
Some of them weren't even used at all, such as the flashrom build script. the bios_extract build script existed but was never used, because we only called (from blobutil) a python script from in there, without actually compiling anything! resources/script/build/src/for Usage, e.g.: ./build src for memtest86plus It also handles fetch. This script is intended largely for those codebases that are quite simple, requiring trivial or no intervention besides running "make". 37 sloc reduction. Not a lot, but the audit continues! These optimisations add up. I started at 3300 sloc in resources/scripts and me target is 2k (2000) sloc. Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
c83d1a8dc4
commit
f893a29b22
3
Makefile
3
Makefile
|
@ -33,9 +33,6 @@
|
|||
|
||||
all: roms
|
||||
|
||||
modules:
|
||||
./build module all
|
||||
|
||||
ich9m-descriptors:
|
||||
./build descriptors ich9m
|
||||
|
||||
|
|
|
@ -159,7 +159,7 @@ cbfstool="cbutils/${tree}/cbfstool"
|
|||
corebootrom="${cbdir}/build/coreboot.rom"
|
||||
seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
|
||||
|
||||
./build module cbutils ${tree} || exit 1
|
||||
./build coreboot utils ${tree} || exit 1
|
||||
|
||||
if [ ! -f "${seavgabiosrom}" ] \
|
||||
|| [ ! -f elf/seabios/default/libgfxinit/bios.bin.elf ] \
|
||||
|
@ -170,7 +170,7 @@ if [ ! -f "${seavgabiosrom}" ] \
|
|||
fi
|
||||
|
||||
[ "${payload_memtest}" = "y" ] && [ ! -f "memtest86plus/memtest" ] && \
|
||||
./build module memtest86plus
|
||||
./build src for memtest86plus
|
||||
|
||||
[ -d "${romdir}/" ] || mkdir -p "${romdir}/"
|
||||
rm -f "${romdir}"/*
|
||||
|
|
|
@ -23,13 +23,7 @@ ich9gen="util/ich9utils/ich9gen"
|
|||
|
||||
main()
|
||||
{
|
||||
if [ ! -f "${ich9gen}" ]; then
|
||||
(
|
||||
cd util/ich9utils/ || err "cd"
|
||||
make clean || err "make-clean"
|
||||
make -j$(nproc) || err "make"
|
||||
)
|
||||
fi
|
||||
[ -f "${ich9gen}" ] || ./build src for ich9utils || err "ich9utils make"
|
||||
[ ! -f "${ich9gen}" ] && \
|
||||
err "ich9gen doesn't exist"
|
||||
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# helper script: builds bios_extract source code
|
||||
#
|
||||
# Copyright (C) 2023 Leah Rowe <info@minifree.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
# Build "flashrom" (utility for flashing/dumping ROMs)
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
if [ ! -d "bios_extract/" ]; then
|
||||
./fetch bios_extract
|
||||
fi
|
||||
|
||||
printf "Building bios_extract\n"
|
||||
|
||||
make -BC bios_extract
|
|
@ -1,40 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# helper script: builds flashrom source code
|
||||
#
|
||||
# Copyright (C) 2014, 2015 <info@minifree.org>
|
||||
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# This script assumes that the working directory is the root
|
||||
# of git or release archive
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
# Build "flashrom" (utility for flashing/dumping ROMs)
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
if [ ! -d "flashrom/" ]; then
|
||||
./fetch flashrom
|
||||
fi
|
||||
|
||||
printf "Building flashrom\n"
|
||||
(
|
||||
cd "flashrom/"
|
||||
make clean
|
||||
make WARNERROR=no -j$(nproc)
|
||||
)
|
|
@ -1,36 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# helper script: build ich9utils
|
||||
#
|
||||
# Copyright (C) 2014, 2015, 2020, 2023 Leah Rowe <info@minifree.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
main()
|
||||
{
|
||||
printf "Build ich9utils\n"
|
||||
make -j$(nproc) -C "util/ich9utils" || err "make"
|
||||
}
|
||||
|
||||
err()
|
||||
{
|
||||
printf "%s: %s\n" $0 $1
|
||||
exit 1
|
||||
}
|
||||
|
||||
main $@
|
|
@ -1,37 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# helper script: builds memtest86+ source code
|
||||
#
|
||||
# Copyright (C) 2014, 2015, 2020 Leah Rowe <info@minifree.org>
|
||||
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# This script assumes that the working directory is the root
|
||||
# of git or release archive
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
# Build MemTest86+ payload
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
printf "Building MemTest86+\n"
|
||||
|
||||
if [ ! -d "memtest86plus/" ]; then
|
||||
./fetch memtest86plus
|
||||
fi
|
||||
|
||||
make -j$(nproc) -BC memtest86plus
|
|
@ -121,7 +121,7 @@ strip_archive()
|
|||
if [ ! -d coreboot/${tree} ]; then
|
||||
./fetch_trees coreboot ${tree} || exit 1
|
||||
fi
|
||||
./build module cbutils ${tree} || exit 1
|
||||
./build coreboot utils ${tree} || exit 1
|
||||
|
||||
rm -Rf "${romdir}_tmp" # dirty hack, to reduce disk io later
|
||||
# rather than using /tmp, which might not be tmpfs
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# helper script: builds bios_extract source code
|
||||
# helper script: build utils used by lbmk
|
||||
#
|
||||
# Copyright (C) 2023 Leah Rowe <info@minifree.org>
|
||||
#
|
||||
|
@ -21,24 +21,33 @@
|
|||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
project=""
|
||||
|
||||
main()
|
||||
{
|
||||
if [ ! -d "uefitool" ]; then
|
||||
./fetch uefitool || fail "cannot download uefitool"
|
||||
[ $# -lt 1 ] && err "project name not specified"
|
||||
project="${1}"
|
||||
shift 1
|
||||
|
||||
[ "${project}" = "ich9utils" ] && project="util/ich9utils"
|
||||
|
||||
[ -d "${project}" ] || ./fetch "${project}" \
|
||||
|| err "Cannot download project, ${project}"
|
||||
[ -d "${project}" ] || err "Project, ${project}, not downloaded"
|
||||
|
||||
if [ "${project}" = "uefitool" ]; then
|
||||
(
|
||||
cd uefitool || err "cannot cd to uefitool/"
|
||||
cmake UEFIExtract/ || err "cannot cmake UEFIExtract"
|
||||
)
|
||||
fi
|
||||
|
||||
printf "Building uefitool (UEFIExtract)\n"
|
||||
|
||||
(
|
||||
cd uefitool || fail "uefitool not downloaded"
|
||||
cmake UEFIExtract/ || fail "cannot cmake UEFIExtract"
|
||||
make || fail "error compiling UEFIExtract"
|
||||
)
|
||||
make -C "${project}" || err "Cannot build project, ${project}"
|
||||
}
|
||||
|
||||
fail()
|
||||
err()
|
||||
{
|
||||
printf "(uefitool build) %s\n" $1 1>&2
|
||||
printf "ERROR: build/src: %s\n" "${1}" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
main $@
|
|
@ -207,7 +207,7 @@ build_dependencies()
|
|||
|| fail "could not download uefitool"
|
||||
fi
|
||||
if [ ! -f uefitool/uefiextract ]; then
|
||||
./build module uefitool \
|
||||
./build src for uefitool \
|
||||
|| fail "could not build uefitool"
|
||||
fi
|
||||
if [ ! -f ${cbdir}/util/kbc1126/kbc1126_ec_dump ]; then
|
||||
|
|
|
@ -149,7 +149,7 @@ build_dependencies()
|
|||
./fetch_trees coreboot default
|
||||
fi
|
||||
|
||||
./build module cbutils default || fail "could not build cbutils"
|
||||
./build coreboot utils default || fail "could not build cbutils"
|
||||
|
||||
./update blobs download ${board} || \
|
||||
fail "Could not download blobs for ${board}"
|
||||
|
|
|
@ -76,7 +76,7 @@ build_dependencies()
|
|||
if [ ! -d "${cbdir}/" ]; then
|
||||
./fetch_trees coreboot default || return 1
|
||||
fi
|
||||
./build module cbutils default || return 1
|
||||
./build coreboot utils default || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue