mirror of
https://github.com/linuxboot/heads.git
synced 2025-02-11 13:15:17 +00:00
Fix small annoyances.
Issue #129: set pipefail so that intermediate failures in a pipeline will cause the build to fail. Otherwise they are silently swallowed by the tee into the build log. Issue #128: strip was updating timestamps, making some files look like they didn't need to be replaced. No issue: configure was reading from stdin, which would make builds hang forever if a new option was present. No issue: print the cbfstool output on a successful ROM build.
This commit is contained in:
parent
4182c0e0aa
commit
936f6d6c9c
29
Makefile
29
Makefile
@ -24,6 +24,10 @@ ifeq "$(LOCAL_MAKE_VERSION)" "$(make_version)"
|
|||||||
# We are running our own version of make,
|
# We are running our own version of make,
|
||||||
# proceed with the build.
|
# proceed with the build.
|
||||||
|
|
||||||
|
# Force pipelines to fail if any of the commands in the pipe fail
|
||||||
|
SHELL := /bin/bash
|
||||||
|
.SHELLFLAGS := -o pipefail -c
|
||||||
|
|
||||||
# Currently supported targets are x230, chell and qemu
|
# Currently supported targets are x230, chell and qemu
|
||||||
BOARD ?= qemu
|
BOARD ?= qemu
|
||||||
|
|
||||||
@ -126,6 +130,7 @@ define define_module =
|
|||||||
$(build)/$($1_dir)/.config
|
$(build)/$($1_dir)/.config
|
||||||
@echo "$(DATE) Configuring $1..."
|
@echo "$(DATE) Configuring $1..."
|
||||||
@( cd "$(build)/$($1_dir)" ; $($1_configure) ) \
|
@( cd "$(build)/$($1_dir)" ; $($1_configure) ) \
|
||||||
|
< /dev/null \
|
||||||
2>&1 \
|
2>&1 \
|
||||||
| tee "$(log_dir)/$1.configure.log" \
|
| tee "$(log_dir)/$1.configure.log" \
|
||||||
$(VERBOSE_REDIRECT)
|
$(VERBOSE_REDIRECT)
|
||||||
@ -147,9 +152,16 @@ define define_module =
|
|||||||
-C "$(build)/$($1_dir)" \
|
-C "$(build)/$($1_dir)" \
|
||||||
$($1_target) \
|
$($1_target) \
|
||||||
) \
|
) \
|
||||||
|
< /dev/null \
|
||||||
2>&1 \
|
2>&1 \
|
||||||
| tee "$(log_dir)/$1.log" \
|
| tee "$(log_dir)/$1.log" \
|
||||||
$(VERBOSE_REDIRECT)
|
$(VERBOSE_REDIRECT) \
|
||||||
|
|| ( \
|
||||||
|
echo "tail $(log_dir)/$1.log"; \
|
||||||
|
echo "-----"; \
|
||||||
|
tail -20 "$(log_dir)/$1.log"; \
|
||||||
|
exit 1; \
|
||||||
|
)
|
||||||
|
|
||||||
$1.clean:
|
$1.clean:
|
||||||
-$(RM) "$(build)/$($1_dir)/.configured"
|
-$(RM) "$(build)/$($1_dir)/.configured"
|
||||||
@ -169,8 +181,7 @@ initrd_bin_dir := initrd/bin
|
|||||||
#
|
#
|
||||||
define install =
|
define install =
|
||||||
@echo "$(DATE) Installing $2"
|
@echo "$(DATE) Installing $2"
|
||||||
@cmp --quiet "$1" "$2" || \
|
@cp -a "$1" "$2"
|
||||||
cp -a "$1" "$2"
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -225,8 +236,7 @@ initrd/bin/busybox: $(build)/$(busybox_dir)/busybox
|
|||||||
# this must be built *AFTER* musl
|
# this must be built *AFTER* musl
|
||||||
initrd_bins += initrd/bin/cbmem
|
initrd_bins += initrd/bin/cbmem
|
||||||
initrd/bin/cbmem: $(build)/$(coreboot_dir)/util/cbmem/cbmem
|
initrd/bin/cbmem: $(build)/$(coreboot_dir)/util/cbmem/cbmem
|
||||||
cmp --quiet "$^" "$@" \
|
cp "$^" "$@"
|
||||||
|| cp "$^" "$@"
|
|
||||||
$(build)/$(coreboot_dir)/util/cbmem/cbmem: \
|
$(build)/$(coreboot_dir)/util/cbmem/cbmem: \
|
||||||
$(build)/$(coreboot_dir)/.canary \
|
$(build)/$(coreboot_dir)/.canary \
|
||||||
musl.intermediate
|
musl.intermediate
|
||||||
@ -238,7 +248,7 @@ $(build)/$(coreboot_dir)/util/cbmem/cbmem: \
|
|||||||
# that were installed.
|
# that were installed.
|
||||||
initrd_lib_install: $(initrd_bins) $(initrd_libs)
|
initrd_lib_install: $(initrd_bins) $(initrd_libs)
|
||||||
-find initrd/bin -type f -a ! -name '*.sh' -print0 \
|
-find initrd/bin -type f -a ! -name '*.sh' -print0 \
|
||||||
| xargs -0 $(CROSS)strip
|
| xargs -0 $(CROSS)strip --preserve-dates
|
||||||
LD_LIBRARY_PATH="$(INSTALL)/lib" \
|
LD_LIBRARY_PATH="$(INSTALL)/lib" \
|
||||||
./populate-lib \
|
./populate-lib \
|
||||||
$(initrd_lib_dir) \
|
$(initrd_lib_dir) \
|
||||||
@ -293,9 +303,8 @@ $(build)/$(coreboot_dir)/initrd.cpio.xz: initrd.cpio
|
|||||||
# hack for the coreboot to find the linux kernel
|
# hack for the coreboot to find the linux kernel
|
||||||
$(build)/$(coreboot_dir)/bzImage: $(call outputs,linux)
|
$(build)/$(coreboot_dir)/bzImage: $(call outputs,linux)
|
||||||
@echo "$(DATE) Copying $@"
|
@echo "$(DATE) Copying $@"
|
||||||
@cmp --quiet "$@" "$^" || \
|
@cp -a "$^" "$@"
|
||||||
cp -a "$^" "$@"
|
coreboot.intermediate: $(build)/$(coreboot_dir)/bzImage
|
||||||
$(call outputs,coreboot): $(build)/$(coreboot_dir)/bzImage
|
|
||||||
|
|
||||||
|
|
||||||
# The coreboot gcc won't work for us since it doesn't have libc
|
# The coreboot gcc won't work for us since it doesn't have libc
|
||||||
@ -304,9 +313,11 @@ $(call outputs,coreboot): $(build)/$(coreboot_dir)/bzImage
|
|||||||
#export LDFLAGS := -L/lib/x86_64-linux-gnu
|
#export LDFLAGS := -L/lib/x86_64-linux-gnu
|
||||||
|
|
||||||
x230.rom: $(build)/$(coreboot_dir)/x230/coreboot.rom
|
x230.rom: $(build)/$(coreboot_dir)/x230/coreboot.rom
|
||||||
|
"$(build)/$(coreboot_dir)/$(BOARD)/cbfstool" "$<" print
|
||||||
dd if="$<" of="$@" bs=1M skip=8
|
dd if="$<" of="$@" bs=1M skip=8
|
||||||
|
|
||||||
qemu.rom: $(build)/$(coreboot_dir)/qemu/coreboot.rom
|
qemu.rom: $(build)/$(coreboot_dir)/qemu/coreboot.rom
|
||||||
|
"$(build)/$(coreboot_dir)/$(BOARD)/cbfstool" "$<" print
|
||||||
cp -a "$<" "$@"
|
cp -a "$<" "$@"
|
||||||
|
|
||||||
clean-modules:
|
clean-modules:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user