Make-файл автоматическая зависимость от ссылки?

Легко позволить программе выяснить зависимость во время компиляции, (с gcc - MM). Тем не менее, свяжите зависимость (решающий, какие библиотеки должны быть связаны с), кажется, является трудным выяснить. Эта проблема становится на стадии становления, когда несколько целей с отдельными библиотеками для соединения с необходимы.

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

Какие-либо идеи?

6
задан Kuang Chen 19 March 2010 в 04:25
поделиться

1 ответ

Это не так просто выяснить, как поиск нужных заголовков. gcc -MM - это просто необычный способ использования препроцессора, но он почти ничего не знает о том, как используется или работает код: вы можете включить несколько заголовков, заполненных #define 's или ввести сложные зависимости библиотеки зависимостей.

Я бы придерживался написания явных зависимостей связывания для всех целей (3 в вашем случае). Вы можете собрать общие зависимости в LDFLAGS .

1
ответ дан 17 December 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: