Sources = \
foo.c \
foo.h \
fee.c \
fee.h
bin_programs = foo fee
foo_SOURCES = $(Sources)
fee_SOURCES = $(Sources)
As you can see both programs fee and foo wind up being built with the same set of sources. This is of course wrong and needs to be corrected for every directory where more than one program or library is built.