diff options
author | Nico Huber <nico.h@gmx.de> | 2018-08-17 17:29:14 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-08-20 15:56:29 +0000 |
commit | 5d790e3f528808733676215e4c1040798223f1c7 (patch) | |
tree | 87653a632a24d7ae3336b1d08f7ef3bdf04faf5b /util/crossgcc | |
parent | 20df17cc65d0fb7c72bd8ffcb5d88447eb6ec8cc (diff) |
Makefile.inc: Ensure update of build.h
There were so many pitfalls that I wrote my own version of this even-
tually. This version is inspired by the procedure of Alex Thiessen[1].
Instead of generating a `build.h` on demand, we always generate a tem-
porary version that, if it differs from the current one, is added as
a dependency.
As we use .SECONDEXPANSION on the prerequisites, special care is taken
that we won't generate the file twice. As it would be too late to add
the dependency if we'd run `genbuild_h.sh` inside a recipe, we have
to run it through the `$(shell)` function. But that brings us to the
next issue: The make variables used by `genbuild_h.sh` are not expor-
ted to this shell like they would be in a recipe. So we export them
manually. We could also make these variables explicit parameters of
`genbuild_h.sh` instead.
An alternative to always creating the temporary `build.h` would be
to add a phony target as dependency instead, and finally calling
`genbuild_h.sh` again in case we need an update. But, um, we create
so many files anyway...
[1] https://review.coreboot.org/25685
Change-Id: I311cf610eabae873c70f2985fc7a09acec8061f0
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/28197
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'util/crossgcc')
0 files changed, 0 insertions, 0 deletions