2009-10-19 5 views
1

Как мне запустить предварительно созданный Makefile из Makefile.am?Как мне запустить предварительно созданный Makefile из Makefile.am?

Я новичок в automake/autoconf build system. В пакете, который я использую autotools for, есть несколько библиотек и тестовые исполняемые файлы для каждого. Некоторые из библиотек представляют собой автоматически созданный код ASN1C, который поставляется с заранее созданными make-файлами. Я не уверен, что лучше всего сказать внутри Makefile.am «Создайте библиотеку ASN1C с предварительно созданным make-файлом».

Попытка поиска google с чем-то вроде этого немного сложна из-за обилия документации makefile.

Спасибо, Chenz

ответ

1

Это относительно легко для полной сборки, но намного сложнее для дополнительных построений.

Также важно, поддерживает ли библиотека сборку вне дерева.

Важно помнить, что файлы automake могут содержать правила make, поэтому вы можете создать набор правил для сборки библиотеки, а затем добавить/скопировать выходные данные этой сборки там, где это необходимо для вашей сборки.

Назначьте каталог для сборки библиотеки. Напишите правила make, чтобы обернуть процесс сборки библиотеки. Свяжите в выводе библиотеки как зависимости вашей сборки.

Единственный бит, который мы еще не сделали, это использование правил автомата по умолчанию для распространения/установки - я не уверен, как вы добавляете библиотеки в эти списки, но я предполагаю, что есть способ, так как вы должны быть способный распространять случайные файлы, такие как переводы в вашем дистрибутиве.

Инкрементальные сборки намного сложнее, потому что вы должны фиксировать соответствующие зависимости в создавать правила, чтобы покрывать зависимости из файла make-файлов библиотеки.