[PATCH 4/4] build: fix that LZO file is always rebuilt

Sam Ravnborg sam at ravnborg.org
Fri Jan 5 23:34:49 PST 2018


Hi Sascha.
> > > +# (needed for the shell)
> > > +make-cmd = $(call escsq,$(subst \#,\\\#,$(subst $$,$$$$,$(cmd_$(1)))))
> > >  
> > 
> > This doesn't work for me. Without this patch I do not see any rebuilds
> > of lzo files, but with this patch I do.
> > 
> > Seems you are using another shell, dash vs. bash? Porting the second
> > hunk of the kernel commit 164f0d2efaaef83 fixes it for me.

$ sh --version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)

This is a CentOS based system.

> 
> Ok, applied with the missing hunk from 164f0d2efaaef83:
> 
> @@ -220,7 +222,7 @@ any-prereq = $(filter-out $(PHONY),$?) $(filter-out $(PHONY) $(wildcard $^),$^)
>  if_changed = $(if $(strip $(any-prereq) $(arg-check)),                       \
>         @set -e;                                                             \
>         $(echo-cmd) $(cmd_$(1));                                             \
> -       echo 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd)
> +       printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd)
>

The above snip have no impact on my system - which is why I left it out.
To try to do minimal changes only.
I should have mentioned this - as well as the specific reference to the
kernel commit.

but in other words - tested with the above change. OK.

	Sam



More information about the barebox mailing list