build: add buildinfo as single Makefile target
authorPaul Spooren <mail@aparcar.org>
Sun, 13 Oct 2019 19:53:40 +0000 (09:53 -1000)
committerRISCi_ATOM <bob@bobcall.me>
Sat, 19 Oct 2019 00:10:16 +0000 (20:10 -0400)
The prepare target was added some 11 years ago to build tools and
toolchain and was recently extended to  create buildinfo files for
reproducibility, meaning {feeds,version,config}.buildinfo.

As the buildbot workflow is more complex than the single prepare (kmod
feed insertion), prepare is only used to create those buildinfo files.
Running prepare however runs `target/compile` as well, taking time even
everything is already compiled.

Splitting this allows the buildbot to run only the `buildinfo` target
while others can still use the convenience feature `prepare`.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 6caf437652d858e5795ee16bdaf9f0436d2488f9)

Makefile

index f9b2bb563ee86b18a77d906906392b393c020d3e..ac447573f5882dfaaf143746839f9d32e37cf620 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -100,9 +100,12 @@ diffconfig: FORCE
        mkdir -p $(BIN_DIR)
        $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.buildinfo
 
-prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile)
+buildinfo: FORCE
        $(_SINGLE)$(SUBMAKE) -r diffconfig buildversion feedsversion
 
+prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile)
+       $(_SINGLE)$(SUBMAKE) -r buildinfo
+
 world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
        $(_SINGLE)$(SUBMAKE) -r package/index
        $(_SINGLE)$(SUBMAKE) -r checksum