| go to the first, previous, next, last section, table of contents. 
 
 
 
в неплоских пакетах в файле `makefile.am' верхнего
уровня надо указать automake, в каких подкаталогах будет производится сборка. 
это выполняется с помощью переменной subdirs. 
макрос subdirsсодержит список подкаталогов, в которых могут
производиться различные виды сборки.  многие цели (например,all)
в сгенерированном файле `makefile' будут выполняться как в текущем
каталоге, так и во всех указанных подкаталогах.  заметьте, что
подкаталоги, перечисленные вsubdirs, не обязаны содержать файл
`makefile.am', а только лишь `makefile' (после выполнения
конфигурации).  это позволяет использовать библиотеки из пакетов,
которые не используют automake (например,gettext).  каталоги,
упомянутые вsubdirs, должны быть прямыми потомками текущего
каталога.  например, вы не можете поместить каталог `src/subdir' в
переменнуюsubdirs. 
в глубоких пакетах `makefile.am' верхнего уровня часто очень
короток. например, вот `makefile.am' из дистрибутива gnu hello:
 
extra_dist = bugs changelog.o readme-alpha
subdirs = doc intl po src tests
 
 
можно переопределить переменную subdirsесли, как в случае
gnuinetutils, вы хотите собрать только некоторое подмножество пакета. 
для этого включите в ваш файл `makefile.am' следующие строки: 
subdirs = @subdirs@
 
затем в вашем файле `configure.in' вы можете указать:
 
subdirs = "src doc lib po"
ac_subst(subdirs)
 
в результате этого automake сможет при построении пакета заставить его
принимать список каталогов, но точное содержимое этого списка станет
известно только после запуска configure. 
хотя макрос subdirsможет содержать подстановки (например
`@dirs@'); сам automake в действительности не проверяет
содержимое этой переменной. 
если определена переменная subdirs, то ваш файл
`configure.in' должен включать макросac_prog_make_set. 
использование subdirsне ограничено только `makefile.am'
верхнего уровня.  automake может использоваться для создания пакетов
любой глубины. 
по умолчанию automake создает файлы `makefile', которые работают,
выполняя сначала make в подкаталогах (постфиксный метод).  однако, можно
изменить это поведение, поместив `.' в
переменную subdirs. например, поместив `.' в начало списка,
вы заставите выполнять make сначала в текущем каталоге, а затем уже в
подкаталогах (префиксный метод). 
 
go to the first, previous, next, last section, table of contents.
											 |