[Skiboot] [PATCH] Makefile: Use implict rules for .xz and .stb

Oliver O'Halloran oohall at gmail.com
Wed Jul 17 15:11:23 AEST 2019


Currently we use explicit rules to make:

	skiboot.lid.xz
	skiboot.lid.xz.stb
	skiboot.lid.stb

There's no real need to use an explicit rule here and converting them
to use an implicit rule allows you to do this:

$ touch /tmp/test
$ make /tmp/test.stb
        [STB-DEVELOPMENT-SIGNED-CONTAINER] /tmp/test.stb

Or slightly more usefully:

$ make zImage.epapr.stb
        [STB-DEVELOPMENT-SIGNED-CONTAINER] zImage.epapr.stb

Do it for the .xz rule too since it's the same and I always forget that
embedded XZ chokes unless you use the 32bit crc.

Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
 Makefile.main  | 9 ---------
 Makefile.rules | 6 ++++++
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/Makefile.main b/Makefile.main
index fac6e4487460..2997b6ebc305 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -258,18 +258,9 @@ ALL_OBJS = $(OBJS) version.o
 ALL_OBJS_1 = $(TARGET).tmp.a asm/dummy_map.o
 ALL_OBJS_2 = $(TARGET).tmp.a asm/real_map.o
 
-$(TARGET).lid.xz: $(TARGET).lid
-	$(call Q,XZ, cat $^ | xz -9 -C crc32 > $@, $@)
-
 $(TARGET).lid: $(TARGET).elf
 	$(call Q,OBJCOPY, $(OBJCOPY) -O binary -S $^ $@, $@)
 
-$(TARGET).lid.stb: $(TARGET).lid libstb/create-container
-	$(call Q,STB-DEVELOPMENT-SIGNED-CONTAINER,$(SRC)/libstb/sign-with-local-keys.sh $< $@ $(SRC)/libstb/keys/ PAYLOAD,$@)
-
-$(TARGET).lid.xz.stb: $(TARGET).lid.xz libstb/create-container
-	$(call Q,STB-DEVELOPMENT-SIGNED-CONTAINER,$(SRC)/libstb/sign-with-local-keys.sh $< $@ $(SRC)/libstb/keys/ PAYLOAD,$@)
-
 $(TARGET).tmp.a: $(ALL_OBJS)
 	@rm -f $(TARGET).tmp.a
 	$(call Q,AR, $(AR) rcsTPD $@ $(ALL_OBJS), $@)
diff --git a/Makefile.rules b/Makefile.rules
index 11b0e5ee8a19..6b35dbafbd9e 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -76,3 +76,9 @@ endif
 
 %.map: %.elf
 	$(call Q,NM, $(NM) --synthetic -n $< | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $@, $@)
+
+%.xz: %
+	$(call Q,XZ, cat $^ | xz -9 -C crc32 > $@, $@)
+
+%.stb: % libstb/create-container
+	$(call Q,STB-DEVELOPMENT-SIGNED-CONTAINER,$(SRC)/libstb/sign-with-local-keys.sh $< $@ $(SRC)/libstb/keys/ PAYLOAD,$@)
-- 
2.21.0



More information about the Skiboot mailing list