| |
Не пишите ничего после строки .include <bsd.port.mk>. Этой строки можно избежать, включив в где-то в середину вашего файла Makefile файл bsd.port.pre.mk, и файл bsd.port.post.mk в конец.
Note: Вам нужно включить либо пару файлов bsd.port.pre.mk/bsd.port.post.mk, либо только bsd.port.mk; не используйте оба этих метода одновременно.
В файле bsd.port.pre.mk определяются лишь несколько переменных, которые могут быть использованы в тестах из файла Makefile, в файле bsd.port.post.mk заданы остальные.
Вот некоторые важные переменные, определенные в файле bsd.port.pre.mk (это не полный список, для выяснения полного списка прочтите, пожалуйста, сам файл bsd.port.mk).
| Переменная | Описание |
|---|---|
| ARCH | Архитектура машины в виде, получаемом по команде uname -m (например, i386) |
| OPSYS | Тип операционной системы, получаемый по команде uname -s (например, FreeBSD) |
| OSREL | Версия релиза операционной системы (например, 2.1.5 или 2.2.7) |
| OSVERSION | Версия операционной системы в виде числа, та же, что и __FreeBSD_version. |
| PORTOBJFORMAT | Формат объектных файлов, используемых в системе (elf или aout); заметьте, что для ``современных'' версий FreeBSD aout не используется.) |
| LOCALBASE | Корень дерева ``local'' (например, /usr/local/) |
| X11BASE | Корень дерева ``X11'' (например, /usr/X11R6) |
| PREFIX | Куда, собственно, устанавливается порт (обратитесь к подробной информации о PREFIX). |
Note: Если вы задаете переменные USE_IMAKE, USE_X_PREFIX, или MASTERDIR, то делайте это перед тем, как включать bsd.port.pre.mk.
Вот несколько примеров того, что вы можете написать после bsd.port.pre.mk:
# no need to compile lang/perl5 if perl5 is already in system
.if ${OSVERSION} > 300003
BROKEN= perl is in system
.endif
# only one shlib version number for ELF
.if ${PORTOBJFORMAT} == "elf"
TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}
.else
TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR}
.endif
# software already makes link for ELF, but not for a.out
post-install:
.if ${PORTOBJFORMAT} == "aout"
${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so
.endif
Вы не забываете об использовании табуляции вместо пробелов после BROKEN= и TCL_LIB_FILE=, не так ли? :-).
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |