Для создания программы из источника на языке C, каковы правила и
рецепты правила в make-файле указываются, если последний генерируется
автоинструмент стандартным способом?
Автоинструменты предназначены для реализации стандартов кодирования GNU применительно к системам сборки, как описано со ссылками, в руководстве Automake . Существует отдельная документация для стандартов кодирования, включая стандартные ориентированные на пользователя цели, которые, как ожидается, Makefiles предоставит . Automake обеспечивает их.
Кроме того, Automake документирует некоторые цели, предназначенные для использования в качестве точек расширения разработчиками. Automake по-разному предоставляет их или использует, если разработчик предоставляет их.
Кроме того, Automake предоставляет правило для каждой цели, которую вы явно указываете в своем Makefile.am
. Вы можете свободно использовать их в нерекурсивной системе сборки, но YMMV, если ваша система сборки рекурсивна.
Конечно, make-файлы Autotools содержат гораздо больше целей, чем те, но их имена следует учитывать в деталях реализации. Все рецепты правил также являются деталями реализации, хотя о некоторых из них можно многое предсказать из документации различных переменных Automake и их работы . Если вам интересно, то как насчет просмотра сгенерированных Makefile.in
или Makefile
?
Являются ли эти два отдельных правила одним для составления другого, для
связь
Из того факта, что создание проекта с помощью системы сборки на основе Autotools генерирует не только конечную цель, но и объектный файл для каждого исходного файла, мы можем определить, что, по крайней мере в текущих версиях Autotools, действительно есть как правила компиляции исходников в объектные файлы, так и правила связывания объектов в исполняемые файлы и / или библиотеки. Опять же, вы также можете просто посмотреть на сгенерированный Makefile
[.in
].
Рецепты какой формы в точности применяются автоинструменты?
Особенности не документированы и, в принципе, могут несколько отличаться в разных версиях Automake. Но опять же, вы можете многое сделать из переменных и всегда можете создать пример для изучения.
Я не нашел этих спецификаций в руководстве по automake. тем не мение
пары правил-целей для некоторых других языков программирования довольно хороши
указано в этом руководстве.
Основное место, в котором руководство AutoMake обсуждает конкретные положения для конкретных языков, - в главе 8, Создание программ и библиотек . Первые несколько разделов описывают, как все работает в целом и для C, стандартного целевого языка Autotools, а затем есть несколько разделов, описывающих положения для других поддерживаемых языков. В руководстве действительно указывается форма правил сборки, используемых для источников на Фортране 77 и Фортране 95, но не ясно, почему. В любом случае, это исключения. Подобное не предусмотрено для других языков.
Другими словами, где указано, как make-файлы генерируются с помощью autotools
создавать программы из C-источников, исходя из предположений, указанных выше?
Конкретная форма правил сборки для C-источников не задокументирована, но в более общем смысле это тема глав 2-4 и большей части главы 8 руководства.