@anchor{Output}
Каждый скрипт configure, созданный Autoconf, должен заканчиваться
вызовом макроса AC_OUTPUT. Этот макрос создает файлы `Makefile'
и, может быть, дополнительные файлы, которые являются результатом
конфигурации. Еще одним обязательным макросом является AC_INIT
(see section Нахождение ввода configure).
Если вызывались макросы AC_CONFIG_HEADER, AC_LINK_FILES или
AC_CONFIG_SUBDIRS, то этот макрос также создает файлы, указанные в
аргументах этих макросов.
Типичный вызов AC_OUTPUT выглядит примерно так:
AC_OUTPUT(Makefile src/Makefile man/Makefile X/Imakefile)
Вы можете переопределить имена входных файлов, добавив к file список входных файлов, который разделен двоеточием. Например:
AC_OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk) AC_OUTPUT(Makefile:templates/vars.mk:Makefile.in:templates/rules.mk)
Это позволит вам сохранить имена файлов в формате MS-DOS, или для добавления стандартных кусков кода кода в начало или конец файла.
В параметре extra-cmds можно указать команды, которые будут
вставлены в файл `config.status' и сработают после того, как было
сделано все остальное. В параметре init-cmds можно указать
команды, которые будут вставлены непосредственно перед extra-cmds,
причем configure выполнит в них подстановку переменных, команды и
обратных слэшей. Аргумент init-cmds можно использовать для
передачи переменных из configure в
extra-cmds. Если был вызван макрос AC_OUTPUT_COMMANDS, то
команды,
переданные ему в качестве аргумента, выполняются прямо перед командами,
переданными макросу AC_OUTPUT.
configure. Этот макрос можно вызывать несколько
раз. Вот нереальный пример:
fubar=27 AC_OUTPUT_COMMANDS([echo this is extra $fubar, and so on.], fubar=$fubar) AC_OUTPUT_COMMANDS([echo this is another, extra, bit], [echo init bit])
Если вам нужно запустить make в подкаталогах, то это следует
делать с помощью переменной MAKE. Большинство версий программы
make устанавливают значение переменной MAKE равным имени
программы make с дополнительно заданными ключами. (Но многие
версии не включаются сюда значения переменных, заданных в командной
строке, поэтому они не передаются автоматически). Некоторые старые версии команды
make не устанавливают эту переменную. Следующий макрос позволяет
вам использовать переменную MAKE даже таких старых версий.
make определяет переменную MAKE, то переменная
SET_MAKE получает пустое значение. Иначе, определяется переменная
SET_MAKE со значением `MAKE=make'. Для переменной SET_MAKE
вызывается макрос AC_SUBST.
Для использования данного макроса поместите следующую строку в каждый из
файлов `Makefile.in', в котором производится запуск MAKE
для подкаталогов:
@SET_MAKE@
Go to the first, previous, next, last section, table of contents.