# $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_GROUPS
ouLICENSE_GROUPS_NAME
LICENSE_NAME
ouLICENSE_NAME_NAME
LICENSE_TEXT
ouLICENSE_TEXT_NAME
LICENSE_FILE
ouLICENSE_FILE_NAME
LICENSE_PERMS
ouLICENSE_PERMS_NAME_
LICENSE_DISTFILES
ouLICENSE_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:
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: 9 de março de 2024 por Danilo G. Baio