@anchor{Invoking config.status}
Скрипт configure
создает файл с именем `config.status', который описывает, какие параметры конфигурации были указаны при последней конфигурации пакета. Это файл является скриптом командного процессора, который при запуске воссоздает ту же самую настройку.
Вы можете задать скрипту `config.status' ключ `--recheck', чтобы он обновил сам себя. Этот ключ полезен, если вы изменяете configure
, так что результаты некоторых тестов могут измениться по сравнению с предыдущим запуском. Ключ `--recheck' перезапускает configure
с аргументами, использованными при предыдущих запусках, с добавлением ключа `--no-create', который не дает configure
запустить `config.status' и создать `Makefile' и другие файлы, а также с добавлением ключа `--no-recursion', который предотвращает запуск скриптов configure
в подкаталогах. (Это сделано для того, чтобы другие правила `Makefile' могли бы запускать `config.status' при его изменении; Например, see section Автоматическая пересборка).
`config.status' также распознает ключ `--help', который выдает список ключей `config.status', и ключ `--version', который выдает номер версии Autoconf, которая была использована при создании скрипта configure
, создавшего файл `config.status'.
`config.status' проверяет несколько переменных среды, которые могут изменить его поведение:
configure
с ключом `--recheck'. Он должен быть совместимым с командным процессором Bourne. Значение по умолчанию -- является `/bin/sh'.
configure
не должны быть слиты вместе, поскольку они сопровождаются по отдельности.
Следующие переменные обеспечивают возможность отдельным пакетам совместно использовать значения переменных, вычисленных скриптом configure
. Это может быть полезно, если одному пакету нужно больше возможностей, чем другому. Эти переменные позволяют файлу `config.status' создавать и другие файлы, не только те, что указаны в файле `configure.in', чтобы их можно было бы использовать в другом пакете.
AC_OUTPUT
в `configure.in'.
#define
языка C. Обычно это файлы, заданные в аргументах макроса AC_CONFIG_HEADER
; если этот макрос не был вызван, то `config.status' игнорирует эту переменную.
Эти переменные также позволяют написать правила `Makefile', которые будут пересоздавать только некоторые файлы. Например, в вышеприведенной зависимости (see section Автоматическая пересборка), `config.status' запускается дважды при изменении `configure.in'. Если это беспокоит вас, то вы можете сделать так, чтобы при каждом запуске обновлялись файлы только для этого правила:
config.h: stamp-h stamp-h: config.h.in config.status CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status echo > stamp-h Makefile: Makefile.in config.status CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
(Если `configure.in' не вызывает макрос AC_CONFIG_HEADER
, то нет необходимости устанавливать CONFIG_HEADERS
в правилах make
).
Go to the first, previous, next, last section, table of contents.