[PATCH] Replace echo -n's used in environment processing with touch

Simon Glass sjg at chromium.org
Mon Feb 7 21:22:23 CET 2022


Hi,

On Sat, 5 Feb 2022 at 06:49, qthedev <qthedev at protonmail.com> wrote:
>
> echo -n does not give the intended effect when invoked in macOS through /bin/sh, which is the shell make uses by default, see "https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working" for a detailed explanation. In this case, it resulted in "-n" being written to env.txt and env.in even though they should be empty, which caused compilation to fail with "Your board uses a text-file environment, so must not define CONFIG_EXTRA_ENV_SETTINGS".
>
> This patch prevents the error by replacing echo -n's with touch, as they are used to create empty files in these cases.

Please word-wrap your commit message and use a real name :-)

>
> diff --git a/Makefile b/Makefile
> index 184223ec63..3101aa0132 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1843,7 +1843,7 @@ quiet_cmd_gen_envp = ENVP    $@
>                         -I$(srctree)/arch/$(ARCH)/include \
>                         $< -o $@; \
>         else \
> -               echo -n >$@ ; \
> +               touch $@ ; \
>         fi
>  include/generated/env.in: include/generated/env.txt FORCE
>         $(call cmd,gen_envp)
> @@ -1860,7 +1860,7 @@ quiet_cmd_envc = ENVC    $@
>         elif [ -n "$(ENV_SOURCE_FILE)" ]; then \
>                 echo "Missing file $(ENV_FILE_CFG)"; \
>         else \
> -               echo -n >$@ ; \
> +               touch $@ ; \
>         fi
>
>  include/generated/env.txt: $(wildcard $(ENV_FILE)) FORCE
>

Regards,
Simon


More information about the U-Boot mailing list