Makefile foreach works only on parsing the Makefile and in this specific
case only works if the package is already extracted and file actually
exist.
On scenario where the package still has to be built, foreach doesn't
find any file causing Host/Install to not install any .m4 file.
To handle this, use a shell for loop that scan files in the
Host/install.
Fixes: c820f097e0be ("tools: gnulib: install .m4 file with gl_ prefix")
Signed-off-by: Christian Marangi <[email protected]>
define Host/Install
$(call Host/Uninstall)
$(INSTALL_DIR) $(1)/share/aclocal
- $(foreach m4,$(notdir $(wildcard $(HOST_BUILD_DIR)/m4/*.m4)),
- $(INSTALL_DATA) $(HOST_BUILD_DIR)/m4/$(m4) $(1)/share/aclocal/gl_$(m4))
+ for m4 in $(HOST_BUILD_DIR)/m4/*.m4; do \
+ $(INSTALL_DATA) $(HOST_BUILD_DIR)/m4/$$$$(basename $$$$m4) \
+ $(1)/share/aclocal/gl_$$$$(basename $$$$m4); \
+ done
$(CP) $(HOST_BUILD_DIR)/ $(1)/share/gnulib/
ln -sf ../share/gnulib/gnulib-tool $(STAGING_DIR_HOST)/bin/gnulib-tool
endef