15.7. Escrevendo algo após bsd.port.mk

Não escreva qualquer coisa após a linha do .include <bsd.port.mk>. Geralmente pode ser evitada incluindo bsd.port.pre.mk em algum lugar no meio de seu Makefile e bsd.port.post.mk no fim.

Nota: Você necessita incluir ambos os par bsd.port.pre.mk/bsd.port.post.mk ou somente bsd.port.mk; não misture este dois usos.

O bsd.port.pre.mk define somente algumas variáveis, que podem ser usadas em testes no Makefile, bsd.port.post.mk define o descanso.

Aqui estão algumas variáveis importantes definidas no bsd.port.pre.mk (esta não é a lista completa, por favor leia bsd.port.mk para a lista completa).

Variável Descrição
ARCH A arquitetura como retornada pelo uname -m (ex., i386)
OPSYS O tipo de sistema operacional, assim retornado pelo uname -s (ex., FreeBSD)
OSREL A versão do release do sistema operacional (ex., 2.1.5 ou 2.2.7)
OSVERSION A versão numérica do sistema operacional, o mesmo que __FreeBSD_version.
PORTOBJFORMAT O formato do objeto do sistema (aout ou elf)
LOCALBASE A base da arvore ``local'' (ex., /usr/local/)
X11BASE A base da arvore do ``X11'' (ex., /usr/X11R6)
PREFIX Onde o port se instala (veja mais em PREFIX).

Nota: Se você tem que definir as variáveis USE_IMAKE, USE_X_PREFIX, ou MASTERDIR, faça assim antes de incluir o bsd.port.pre.mk.

Estão aqui alguns exemplos das coisas que você pode escrever após o 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
For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.