Patrick Georgi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59980 )
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 and 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 --- M payloads/libpayload/Makefile.inc 1 file changed, 5 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/59980/1
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc index 0e90364..2dab16c 100644 --- a/payloads/libpayload/Makefile.inc +++ b/payloads/libpayload/Makefile.inc @@ -104,23 +104,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)); \