@anchor{Automatic Remaking}
Вы можете поместить правила, упомянутые ниже, в файл `Makefile.in' верхнего уровня пакета, для того чтобы автоматически обновлять информацию о конфигурации при изменении файлов конфигурации. Этот пример использует все дополнительные файлы, такие как `aclocal.m4', а также то, что относятся к заголовочным файлам конфигурации. Уберите из правила для `Makefile.in' файлы, не использующиеся в вашем пакете.
Префикс `${srcdir}/' добавлен из-за ограничений механизма
использования VPATH.
Файлы `stamp-' являются необходимыми, поскольку время последнего
изменения файлов `config.h.in' и `config.h' останется прежним,
если пересоздание этих файлов не изменит их содержимого. Эта возможность
позволяет избежать ненужной перекомпиляции. Вы должны включить
файл `stamp-h.in' в дистрибутив вашего пакета, так что make
будет считать `config.h.in' обновленным. На некоторых старых
системах BSD, команда touch или любая другая, создающая файл
нулевой длины, не обновляет время изменения этого файла, так что
используйте для правильной работы команду echo.
${srcdir}/configure: configure.in aclocal.m4
cd ${srcdir} && autoconf
# autoheader мог не изменить config.h.in, так что обновить дату stamp-файла.
${srcdir}/config.h.in: stamp-h.in
${srcdir}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
config.h.top config.h.bot
cd ${srcdir} && autoheader
echo timestamp > ${srcdir}/stamp-h.in
config.h: stamp-h
stamp-h: config.h.in config.status
./config.status
Makefile: Makefile.in config.status
./config.status
config.status: configure
./config.status --recheck
Вдобавок вы должны передать `echo timestamp > stamp-h' в аргументе
extra-cmds макросу AC_OUTPUT, так что
`config.status' будет гарантировать, что файл `config.h' будет
рассматриваться как обновленный. See section Создание выходных файлов, для дополнительной
информации о AC_OUTPUT.
See section Воссоздание конфигурации, где описаны дополнительные примеры обработки конфигурационных зависимостей.
Go to the first, previous, next, last section, table of contents.