# $FreeBSD: head/pt_BR.ISO8859-1/books/porters-handbook/book.xml 54410 2020-08-05 22:13:01Z dbaio $
Esta tradução pode estar desatualizada. Para ajudar com as traduções, acesse a ferramenta de traduções do FreeBSD .
As primeiras seções do Makefile devem sempre vir na mesma ordem. Este padrão faz com que todos possam ler facilmente qualquer port sem ter que procurar variáveis em uma ordem aleatória.
A primeira linha de um Makefile é sempre um comentário contendo o ID de controle de versão do Subversion, seguido por uma linha vazia. Em novos ports, parece assim:
# $FreeBSD: head/pt_BR.ISO8859-1/books/porters-handbook/book.xml 54410 2020-08-05 22:13:01Z dbaio $
Nos ports existentes, o Subversion expandiu essa entrada ficando assim:
# $FreeBSD: head/pt_BR.ISO8859-1/books/porters-handbook/book.xml 54410 2020-08-05 22:13:01Z dbaio $
|
As seções e variáveis descritas aqui são obrigatórias em um port comum. Em um port slave, muitas seções e variáveis podem ser ignoradas. |
|
Cada bloco seguinte deve ser separado do bloco anterior por uma única linha em branco. Nos blocos a seguir, apenas defina as variáveis que são requeridas pelo port. Defina essas variáveis na ordem em que são mostradas aqui. |
PORTNAME
Este bloco é o mais importante. Ele define o nome do port, a versão, o local do arquivo de distribuição e a categoria. As variáveis devem estar nesta ordem:
LICENSE
Este bloco é opcional, embora seja altamente recomendado. As variáveis são:
LICENSE_GROUPS
ou
LICENSE_GROUPS_NAME
LICENSE_NAME
ou
LICENSE_NAME_NAME
LICENSE_TEXT
ou
LICENSE_TEXT_NAME
LICENSE_FILE
ou
LICENSE_FILE_NAME
LICENSE_PERMS
ou
LICENSE_PERMS_NAME_
LICENSE_DISTFILES
ou
LICENSE_DISTFILES_NAME
Se houver várias licenças, ordene as variáveis LICENSE_VAR_NOME pelo nome de licença.
BROKEN
/
IGNORE
/
DEPRECATED
Este bloco é opcional. As variáveis são:
|
Se o port estiver marcado como BROKEN quando algumas condições forem atendidas, e tais condições puderem ser testadas somente após incluir o bsd.port.options.mk ou bsd.port.pre.mk , então essas variáveis devem ser definidas mais tarde, em O Restante das Variáveis . |
Este bloco é opcional.
Comece esta seção com as definições de
FLAVORS
. Continue com as possíveis variáveis assistentes de Flavors. Veja
Usando FLAVORS
para maiores informações.
Variáveis de definição de construção não disponíveis como assistentes, usando
.if ${FLAVOR:U} == foo
devem ir em abaixo de suas respectivas seções.
USES
e
USE_x
Comece esta seção com a definição da variável
USES
e, em seguida, possíveis variáveis
USE_x
.
Mantenha as variáveis relacionadas juntas. Por exemplo, se estiver usando a variável
USE_GITHUB
, coloque sempre as variáveis
GH_*
logo após ela.
Este bloco de seção é para variáveis que podem ser definidas em bsd.port.mk que não pertencem a nenhum dos blocos de seção anteriores.
A ordem não é importante, no entanto, tente manter variáveis semelhantes juntas. Por exemplo, variáveis
USERS
e
GROUPS
. Variáveis de configuração
CONFIGURE
*
e
*
CONFIGURE
. Lista de arquivos e diretórios
PORTDOCS
e
PORTEXAMPLES
.
Se o port usa o
framework de opções
, defina
OPTIONS_DEFINE
e
OPTIONS_DEFAULT
, então as outras variáveis
OPTIONS
*
, depois as de descrições
*
DESC
, e então os assistentes de opções. Tente e ordene todas essas variáveis alfabeticamente.
As opções
FOO
e
BAR
não possuem uma descrição padrão, portanto, é necessário escrever uma. As outras opções já possuem em
Mk/bsd.options.desc.mk
então escrever uma não é necessário. Opções
DOCS
e
EXAMPLES
usam os assistentes de destino para instalar seus arquivos, eles são mostrados aqui por completo, apesar de pertencerem a
Os Targets
, então outras variáveis e destinos podem ser inseridos antes deles.
OPTIONS_DEFINE= DOCS EXAMPLES FOO BAR
OPTIONS_DEFAULT= FOO
OPTIONS_RADIO= SSL
OPTIONS_RADIO_SSL= OPENSSL GNUTLS
OPTIONS_SUB= yes
BAR_DESC= Enable bar support
FOO_DESC= Enable foo support
BAR_CONFIGURE_WITH= bar=${LOCALBASE}
FOO_CONFIGURE_ENABLE= foo
GNUTLS_CONFIGURE_ON= --with-ssl=gnutls
OPENSSL_CONFIGURE_ON= --with-ssl=openssl
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/ex && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
E então, o restante das variáveis que não são mencionadas nos blocos anteriores.
Depois que todas as variáveis são definidas, targets opcionais
make(1)
podem ser definidos. Mantenha
pre-
*
antes de
post-
*
e na mesma ordem em que as diferentes etapas são executadas:
fetch
extract
patch
configure
build
install
test
|
Ao usar os assistentes de opções, os targets são classificados alfabeticamente, mas mantenha
post-install: # install generic bits post-install-DOCS-on: # Install documentation post-install-X11-on: # Install X11 related bits post-install-X11-off: # Install bits that should be there if X11 is disabled |
Última alteração em : 18 de fevereiro de 2025 por Fernando Apesteguía