Вот минимальный пример того, что вам нужно для описываемой вами ситуации.
Вам необходим makefile.am
, содержащий имя двоичного файла для сборки и исходные файлы, использованные для его сборки (выНе нужно перечислять заголовочные файлы, они будут обнаружены автоматически):
bin_PROGRAMS = example
example_SOURCES = main.c header.c
А вам нужно configure.ac
.Здесь вы устанавливаете имя и номер версии программы, инициализируете Automake с аргументом foreign
, чтобы он не жаловался на отсутствующие файлы, которые требуются проекту GNU, скажите, что вам нужен компилятор C, скажитечтобы построить свой Makefile
и, наконец, сказать ему выводить результаты предыдущей конфигурации.
AC_INIT([example], [1.0])
AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
Если ваша существующая программа имеет какие-либо зависимости от библиотек, вы можете запустить autoscan
, чтобы обнаружить возможные зависимости,Он создает файл configure.scan
, который содержит шаблон, который можно использовать для создания вашего configure.ac
;но если ваша программа проста, вы можете пропустить этот шаг и использовать минимальный пример, приведенный выше.
Теперь запустите autoreconf --install
, чтобы скопировать необходимые файлы и собрать Makefile.in
и configure
из приведенного вышеконфигурационные файлы.Затем запустите ./configure
, чтобы сконфигурировать ваш скрипт, сгенерировав Makefile
.Наконец, запустите make
для сборки вашей программы.
Как только вы выполните эти шаги, сгенерированный вами Makefile
обнаружит изменения в вашем makefile.am
и снова запустит шаги, так что теперь, вы должны иметь возможность просто запустить make
, не выполняя все эти шаги снова.
См. руководства Automake и Autoconf для получения дополнительной информации.