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