[Buildroot] [PATCH 2/2] ncurses: use foreach make loops instead of shell for loops
Matthew Weber
matthew.weber at rockwellcollins.com
Tue Aug 2 21:05:42 UTC 2016
Thomas,
On Tue, Aug 2, 2016 at 3:34 PM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> The main benefit of using make foreach loops is that they will abort
> if one of the iteration of the loop fails. The current for loops will
> continue, and only report a failure if the last iteration was a
> failure, but will silently ignore other errors.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> package/ncurses/ncurses.mk | 38 ++++++++++++++++++--------------------
> 1 file changed, 18 insertions(+), 20 deletions(-)
>
> diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
> index 0ae8835..614b6ce 100644
> --- a/package/ncurses/ncurses.mk
> +++ b/package/ncurses/ncurses.mk
> @@ -74,28 +74,26 @@ NCURSES_CONF_OPTS += --enable-widec
> NCURSES_LIB_SUFFIX = w
>
> define NCURSES_LINK_LIBS_STATIC
> - for lib in $(NCURSES_LIBS-y:%=lib%); do \
> - ln -sf $${lib}$(NCURSES_LIB_SUFFIX).a \
> - $(1)/usr/lib/$${lib}.a; \
> - done
> + $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
> + ln -sf $(lib)$(NCURSES_LIB_SUFFIX).a $(1)/usr/lib/$(lib).a
> + )
> ln -sf libncurses$(NCURSES_LIB_SUFFIX).a \
> $(1)/usr/lib/libcurses.a
> endef
>
> define NCURSES_LINK_LIBS_SHARED
> - for lib in $(NCURSES_LIBS-y:%=lib%); do \
> - ln -sf $${lib}$(NCURSES_LIB_SUFFIX).so \
> - $(1)/usr/lib/$${lib}.so; \
> - done
> + $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
> + ln -sf $(lib)$(NCURSES_LIB_SUFFIX).so $(1)/usr/lib/$(lib).so
> + )
> ln -sf libncurses$(NCURSES_LIB_SUFFIX).so \
> $(1)/usr/lib/libcurses.so
> endef
>
> define NCURSES_LINK_PC
> - for pc in $(NCURSES_LIBS-y); do \
> - ln -sf $${pc}$(NCURSES_LIB_SUFFIX).pc \
> - $(1)/usr/lib/pkgconfig/$${pc}.pc; \
> - done
> + $(foreach pc,$(NCURSES_LIBS-y), \
> + ln -sf $(pc)$(NCURSES_LIB_SUFFIX).pc \
> + $(1)/usr/lib/pkgconfig/$(pc).pc
> + )
> endef
>
> NCURSES_LINK_TARGET_LIBS = \
> @@ -135,19 +133,19 @@ endef
>
> ifneq ($(BR2_STATIC_LIBS),y)
> define NCURSES_INSTALL_TARGET_LIBS
> - for lib in $(NCURSES_LIBS-y:%=lib%); do \
> - cp -dpf $(NCURSES_DIR)/lib/$${lib}$(NCURSES_LIB_SUFFIX).so* \
> - $(TARGET_DIR)/usr/lib/; \
> - done
> + $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
> + cp -dpf $(NCURSES_DIR)/lib/$(lib)$(NCURSES_LIB_SUFFIX).so* \
> + $(TARGET_DIR)/usr/lib/
> + )
> endef
> endif
>
> ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
> define NCURSES_INSTALL_TARGET_PROGS
> - for x in $(NCURSES_PROGS); do \
> - $(INSTALL) -m 0755 $(NCURSES_DIR)/progs/$$x \
> - $(TARGET_DIR)/usr/bin/$$x; \
> - done
> + $(foreach prog,$(NCURSES_PROGS), \
> + $(INSTALL) -m 0755 $(NCURSES_DIR)/progs/$(prog) \
> + $(TARGET_DIR)/usr/bin/$(prog)
> + )
> ln -sf tset $(TARGET_DIR)/usr/bin/reset
> endef
> endif
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Reviewed-by: Matt Weber <matthew.weber at rockwellcollins.com>
--
Matthew L Weber / Pr Software Engineer
Airborne Information Systems / Security Systems and Software / Secure Platforms
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA
www.rockwellcollins.com
Note: Any Export License Required Information and License Restricted
Third Party Intellectual Property (TPIP) content must be encrypted and
sent to matthew.weber at corp.rockwellcollins.com.
More information about the buildroot
mailing list