mirror of
https://git.savannah.gnu.org/git/gnuboot.git
synced 2025-01-07 16:17:41 +01:00
Denis 'GNUtoo' Carikli
7df6d6169b
GNU Boot can be installed on some I945 ThinkPads without disassembling them. To do that it requires both a patched flashrom and bucts. This build them and also integrate Guix in GNU Boot as a dependency to build them. This will enable us to later on ship these utilities and then update the installation instructions to use them somehow. It also makes sure that we have proper authorship of the patch used for flashrom and also unify the two flashrom patches not to require two different flashrom binaries. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
124 lines
4.4 KiB
Makefile
124 lines
4.4 KiB
Makefile
#
|
|
# Makefile for compatibility purposes
|
|
# You can use this, but it's recommended to run build system commands directly
|
|
#
|
|
# See docs/maintain/ and docs/git/ for information about the build system
|
|
#
|
|
# Copyright (C) 2020, 2021 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/>.
|
|
|
|
# For making pipefail work.
|
|
SHELL := bash
|
|
|
|
.PHONY: all check download modules ich9m-descriptors payloads roms release \
|
|
clean crossgcc-clean install-dependencies-ubuntu \
|
|
install-dependencies-pureos-10 install-dependencies-arch \
|
|
install-dependencies-void
|
|
|
|
LOG = make-$(shell date '+%s').log
|
|
|
|
all: roms
|
|
|
|
download:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
./download all 2>&1 | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
modules:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
./build module all 2>&1 | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
ich9m-descriptors:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
./build build descriptors | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
payloads:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build payload all | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
roms:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build boot roms all | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
release:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build release src | tee -a $(LOG)
|
|
set -o pipefail ; ./build release roms | tee -a $(LOG)
|
|
set -o pipefail ; ./build release website | tee -a $(LOG)
|
|
set -o pipefail ; ./build release gnuboot-source | tee -a $(LOG)
|
|
set -o pipefail ; ./build test release | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
clean:
|
|
./build clean cbutils
|
|
./build clean i945-thinkpads-install-utilities
|
|
./build clean ich9utils
|
|
./build clean payloads
|
|
./build clean seabios
|
|
./build clean grub
|
|
./build clean memtest86plus
|
|
./build clean rom_images
|
|
|
|
crossgcc-clean:
|
|
./build clean crossgcc
|
|
|
|
distclean:
|
|
./build distclean all
|
|
|
|
install-dependencies-ubuntu:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build dependencies trisquel-10 | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
install-dependencies-pureos-10:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build dependencies pureos-10 | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
install-dependencies-arch:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build dependencies arch | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
install-dependencies-void:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./build dependencies void | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
check:
|
|
echo 'Makefile: running $@ target' >> $(LOG)
|
|
set -o pipefail ; ./tests/lint | tee -a $(LOG)
|
|
set -o pipefail ; ./tests/distclean | tee -a $(LOG)
|
|
set -o pipefail ; ./tests/targets 2>&1 | tee -a $(LOG)
|
|
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
|
|
|
|
include resources/packages/i945-thinkpads-install-utilities/Makefile.am
|
|
|
|
help:
|
|
@printf "Available commands:\n"
|
|
@printf "\tsudo make install-dependencies-ubuntu # %s\n" \
|
|
"Install required dependencies on Ubuntu."
|
|
@printf "\tsudo make install-dependencies-pureos-10 # %s\n" \
|
|
"Install required dependencies on PureOS 10 (byzantium)."
|
|
@printf "\tmake release # %s\n" \
|
|
"Build a GNU Boot release."
|
|
@printf "\tmake clean # %s\n" \
|
|
"Remove all the files being built in GNU Boot."
|
|
@printf "\tmake crossgcc-clean # %s\n" \
|
|
"Remove the builds of the crossgcc toolchain."
|