Представим себе такую ситуацию: из громадных сорсов некоей софтины надо собрать какую-нибудь одну либу или же бинарник.Для тестов или для какой-нибудь другой надобности.
Обычный порядок действий: пытаешься сделать make в каталоге /lib/blah и получаешь ошибку, потому что есть зависимость на /lib/common/communication, в результате чего приходится лезть туда, делать make там и проходить все зависимости "ручками".
Другой вариант: в /lib/blah делаются симлинки на каталоги, в которых лежат зависимости и в makefile дописываются команды на компиляцию и этих каталогов тоже. В результате произвольное место из исходников собирается со всеми зависимостями одним make-ом.
Вопрос: почему так не делают?
P.S. Про несовместимость с фс, не поддерживающими симлинки знаю, но не думаю, что они волнуют unix-only проекты.