On 9 August 2015 at 12:39, Michael S. Tsirkin <m...@redhat.com> wrote: > On Sun, Aug 09, 2015 at 12:39:59PM +0300, Victor Kaplansky wrote: >> - $(eval -include $(addsuffix *.d, $(sort $(dir $($v))))) >> + $(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v)))) >> $(eval $v := $(filter-out %/,$($v)))) >> endef > > Please add space after each comma.
(I thought we discussed this in v1 review?) We don't seem to be completely consistent in our makefile style, but I would say that the majority of it is written in the same style used in the GNU Make docs, with no spaces after commas. In particular, $(patsubst %.o,%.d,$(THING)) and $(patsubst %.o, %.d, $(THING)) do *not* expand to the same thing; Make syntax for functions says the delimiter is 'comma', not 'comma followed by whitespace': FOO=bar.o baz.o boz.o all: @echo '$(patsubst %.o,%.d,$(FOO))' @echo '$(patsubst %.o, %.d, $(FOO))' manooth$ make -f test.mak bar.d baz.d boz.d bar.d baz.d boz.d Admittedly most of the time the extra whitespace that ends up in the output is unlikely to be problematic, but there might be rare cases when it is, so the better style recommendation is to not have spaces after the commas, because that is always safe and always the behaviour the author actually wanted. thanks -- PMM