Additionally:
Automake offers you a different *_LDFLAGS variable for every program. [1][2]
This way, you can link some of your programs against a specific library,
without forcing you to link _all_ the programs against it.

It would be good to link each program only with the libraries it needs.
The only problem is that we have many programs (so far 15, and
increasing), and several libraries. So customizing the linking per
program can be buggy.

But just one question: if a program doesn't use anything from a library,
what are the downsides (performance maybe?) to link it with that library
anyway? If the downsides are significant, I will customize the linking.