# $FreeBSD: head/pt_BR.ISO8859-1/books/porters-handbook/book.xml 54410 2020-08-05 22:13:01Z dbaio $
Chapter 15. Ordem das Variáveis nos Makefiles de Port
Esta tradução pode estar desatualizada. Para ajudar com as traduções, acesse a ferramenta de traduções do FreeBSD.
Índice
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:
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. |
15.1. Bloco 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:
15.4. Bloco LICENSE
Este bloco é opcional, embora seja altamente recomendado. As variáveis são:
LICENSE_GROUPSouLICENSE_GROUPS_NAMELICENSE_NAMEouLICENSE_NAME_NAMELICENSE_TEXTouLICENSE_TEXT_NAMELICENSE_FILEouLICENSE_FILE_NAMELICENSE_PERMSouLICENSE_PERMS_NAME_LICENSE_DISTFILESouLICENSE_DISTFILES_NAME
Se houver várias licenças, ordene as variáveis LICENSE_VAR_NOME pelo nome de licença.
15.5. Mensagens Genéricas 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. |
15.7. Flavors
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.
15.8. 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.
15.9. Variáveis Padrão bsd.port.mk
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.
15.10. Opções e Assistentes
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}15.11. O Restante das Variáveis
E então, o restante das variáveis que não são mencionadas nos blocos anteriores.
15.12. Os Targets
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:
fetchextractpatchconfigurebuildinstalltest
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