Алексей Махоткин

домашняя страница

Autoconf

Go to the first, previous, next, last section, table of contents.


Каталоги сборки программ

@anchor{Build Directories}

Вы можете поддерживать одновременную компиляцию пакета программного обеспечения для различных архитектур из одной и той же копии исходного кода. Объектные файлы для каждой из архитектур хранятся в отдельных каталогах.

Для поддержки этого make использует переменную VPATH для поиска файлов, которые находятся в каталоге с исходными текстами. Такая возможность поддерживается GNU make и большинством других программ make свежих версий. Старые версии программы make не поддерживают переменную VPATH; при их использовании исходные тексты должны находиться в том же каталоге, что и объектные файлы.

Для поддержки VPATH каждый файл `Makefile.in’ должен содержать две строки, которые могут выглядеть следующим образом:

srcdir = @srcdir@
VPATH = @srcdir@

Не надо устанавливать VPATH в значение другой переменной, например `VPATH = $(srcdir)’, поскольку некоторые версии make не выполняют подстановку переменных для VPATH.

configure подставляет правильное значение srcdir при создании файла `Makefile’.

Не используйте переменную $< программы make, которая разворачивается в имя файла с полным путем (найденным с помощью VPATH), причем только в явных правилах. (Неявные правила, например, `.c.o’, сообщают, как создать файл `.o’ из файла `.c’.) Некоторые версии make не устанавливают $< в явных правилах; они подставляют вместо него пустое значение.

Вместо этого командные строки`Makefile’ всегда должны ссылаться на файлы с исходными текстами, с добавлением к ним префикса `$(srcdir)/’. Например:

time.info: time.texinfo
        $(MAKEINFO) $(srcdir)/time.texinfo


Go to the first, previous, next, last section, table of contents.

Comments