Felix Singer has submitted this change. ( https://review.coreboot.org/c/coreboot/+/79523?usp=email )
Change subject: libpayload: Remove shell for loops in install Makefile target ......................................................................
libpayload: Remove shell for loops in install Makefile target
They always require special care so that line breaks and variable names are escaped properly. One loop can be removed entirely because install accepts multiple files to install in a target directories, the other loops were filled by find which can just call the commands on its own.
Change-Id: I9f9dddfe3f3ceceb6a0510d6dd862351e4b10210 Signed-off-by: Patrick Georgi patrick@coreboot.org Reviewed-on: https://review.coreboot.org/c/coreboot/+/79523 Reviewed-by: Felix Singer service+coreboot-gerrit@felixsinger.de Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M payloads/libpayload/Makefile.inc 1 file changed, 5 insertions(+), 12 deletions(-)
Approvals: build bot (Jenkins): Verified Felix Singer: Looks good to me, approved
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc index c511e128..e4d45a6 100644 --- a/payloads/libpayload/Makefile.inc +++ b/payloads/libpayload/Makefile.inc @@ -120,23 +120,16 @@ install: real-target printf " INSTALL $(DESTDIR)/libpayload/lib\n" install -m 755 -d $(DESTDIR)/libpayload/lib - for lib in $(library-targets); do \ - install -m 644 $$lib $(DESTDIR)/libpayload/lib/; \ - done + install -m 644 $(library-targets) $(DESTDIR)/libpayload/lib/ install -m 644 arch/$(ARCHDIR-y)/libpayload.ldscript $(DESTDIR)/libpayload/lib/ install -m 755 -d $(DESTDIR)/libpayload/lib/$(ARCHDIR-y) install -m 644 $(obj)/head.o $(DESTDIR)/libpayload/lib/$(ARCHDIR-y) printf " INSTALL $(DESTDIR)/libpayload/include\n" install -m 755 -d $(DESTDIR)/libpayload/include - for file in `find include -name *.h -type f`; do \ - install -m 755 -d $(DESTDIR)/libpayload/`dirname $$file`; \ - install -m 644 $$file $(DESTDIR)/libpayload/$$file; \ - done - for file in `find $(coreboottop)/src/commonlib/bsd/include -name *.h -type f`; do \ - dest_file=$$(realpath --relative-to=$(coreboottop)/src/commonlib/bsd/ $$file); \ - install -m 755 -d "$(DESTDIR)/libpayload/`dirname $$dest_file`"; \ - install -m 644 "$$file" "$(DESTDIR)/libpayload/$$dest_file"; \ - done + find include -type d -exec install -m755 -d $(DESTDIR)/libpayload/{} ; + find include -type f -exec install -m644 {} $(DESTDIR)/libpayload/{} ; + cd $(coreboottop)/src/commonlib/bsd && find include -type d -exec install -m755 -d $(DESTDIR)/libpayload/{} ; + cd $(coreboottop)/src/commonlib/bsd && find include -type f -exec install -m644 {} $(DESTDIR)/libpayload/{} ; install -m 644 $(obj)/libpayload-config.h $(DESTDIR)/libpayload/include $(foreach item,$(includes), \ install -m 755 -d $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); \