Правильный make-файл для приложения с открытым исходным кодом с дополнительными библиотеками - PullRequest
1 голос
/ 30 декабря 2011

В настоящее время я занимаюсь открытым исходным кодом нескольких разных приложений, которые я написал.Одна из проблем, с которыми я сталкиваюсь, заключается в том, как я должен обрабатывать внешние зависимости, которые использует мое приложение.

Прямо сейчас, мой makefile содержит строку для указания местоположения каждой из этих внешних зависимостей.Например, одно из моих приложений использует библиотеку libstatgrab, поэтому в make-файле вы указываете местоположение этой библиотеки (заголовочные файлы + общие объектные файлы).

Вышеописанная практика сработала для меня, новсякий раз, когда я компилирую программное обеспечение с открытым исходным кодом от сторонних производителей, они всегда предполагают или «обнаруживают» расположение этих зависимостей в процессе настройки.Вместо того, чтобы позволять пользователю настраивать эти параметры в makefile, я должен делать предположения относительно того, где находятся файлы?Или, предполагая, что лицензия библиотеки с открытым исходным кодом позволяет, должен ли я просто упаковать библиотеку с исходным кодом моего приложения?

Может ли кто-нибудь дать мне знать, что такое "стандартная практика" для подобных ситуаций?Я хочу сделать процесс компиляции как можно более легким - я знаю из опыта разочарование, связанное с попыткой просто скомпилировать некоторого программного обеспечения с открытым исходным кодом.

1 Ответ

1 голос
/ 30 декабря 2011

Автоматическое обнаружение местоположений зависимостей обычно выполняется такими инструментами, как GNU autoconf .Autoconf при правильной настройке (это может занять некоторое время) сгенерирует для вас скрипт configure, который, в свою очередь, сгенерирует для пользователя Makefile из написанного вами Makefile.in.

...