Легко позволить программе выяснить зависимость во время компиляции (с помощью gcc -MM). Тем не менее, зависимость от ссылки (решение, с какими библиотеками следует связать) кажется трудной для понимания. Эта проблема возникает, когда требуется несколько целей с отдельными библиотеками для ссылки.
Например, необходимо создать три динамические цели библиотеки t1.so, t2.so и t3.so. Для t1.so нужна математическая библиотека (-lm), а для t2 и t3 - нет. Было бы утомительно писать отдельные правила. Единственное правило, требующее трех целей, связанных с библиотекой математики, избавляет от проблем. Однако это вызывает инфляцию целевого размера, поскольку математическая библиотека не используется для t2.so и t3.so.
Есть идеи?