On Fri, 15 May 2020 06:00:51 +0300, Yauheni Kaliuta wrote: > 1) I'm wondering how commit c363eb48ada5 ("selftests: fix too long > argument") worked without the patch. I think it was because it reduced the list of files from three replications to two. I did not notice the .ONESHELL; it also explains the oddity that I saw with @ behavior. With the .ONESHELL removed, we can further simplify INSTALL_SINGLE_RULE by removing the @echo rsync and the at-sign before rsync. > 2) The code does not look working as expected for me: > 2.1) "X$(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)" != "X" is > always true sine the left part will be at least "X " (spaces); > 2.2) according to manual in .ONESHELL case gmake checks only first > line for @, so @rsync is passed to the shell; > 2.3) $(OUTPUT)/(TEST_PROGS) adds $(OUTPUT) only to the first prog; > > Did I miss something? I think you didn't miss anything and that you're right. Could you submit a patch to remove the spaces? I can then submit a patch to further simplify INSTALL_SINGLE_RULE if you don't want to do that, too. Thanks! Jiri