[PATCH] build: make _make_dirs robust against too long argument error

Felix Fietkau nbd at nbd.name
Thu Apr 4 04:06:04 PDT 2024


On 25.03.24 10:51, Robert Marko wrote:
> _make_dirs currently can fail as _DIRS can be really long and thus go over
> the MAX_ARG_STRLEN limit so it will fail with:
> /bin/sh: Argument list too long
> 
> Lets avoid this by stripping the $(BUILDDIR) prefix and then restoring it.
> 
> Signed-off-by: Robert Marko <robimarko at gmail.com>
> ---
>   src/build.rules | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/build.rules b/src/build.rules
> index acda88472..497580d88 100644
> --- a/src/build.rules
> +++ b/src/build.rules
> @@ -80,7 +80,7 @@ endif
>   _DIRS := $(BUILDDIR)/$(PROJ)
>   .PHONY: _make_dirs
>   _make_dirs:
> -	@mkdir -p $(_DIRS)
> +	@printf '$(BUILDDIR)/%s ' $(patsubst $(BUILDDIR)/%,%,$(_DIRS)) | xargs mkdir -p

It's simpler and more robust to simply do:
	@mkdir -p $(sort $(_DIRS))

- Felix



More information about the Hostap mailing list