git: bea2fef3f0 - main - Split Brazilian porter's handbook and fix link in English porter's

Sergio Carlavilla Delgado <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
The branch main has been updated by carlavilla:

URL: https://cgit.FreeBSD.org/doc/commit/?id=bea2fef3f080975d594dddade67fd0018d3d7440

commit bea2fef3f080975d594dddade67fd0018d3d7440
Author:     Sergio Carlavilla Delgado <[email protected]>
AuthorDate: 2021-11-26 23:23:59 +0000
Commit:     Sergio Carlavilla Delgado <[email protected]>
CommitDate: 2021-11-26 23:23:59 +0000

    Split Brazilian porter's handbook and fix link in English porter's
---
 .../en/books/porters-handbook/special/_index.adoc  |   2 +-
 .../pt-br/books/porters-handbook/_index.adoc       |  30 ++----
 .../content/pt-br/books/porters-handbook/book.adoc |  70 ++++++++++++++
 .../books/porters-handbook/chapters-order.adoc     |  36 ++++----
 .../flavors/{chapter.adoc => _index.adoc}          |   4 +-
 .../keeping-up/{chapter.adoc => _index.adoc}       |   0
 .../makefiles/{chapter.adoc => _index.adoc}        |  24 ++---
 .../new-port/{chapter.adoc => _index.adoc}         |   2 +-
 .../order/{chapter.adoc => _index.adoc}            | 102 ++++++++++-----------
 .../pkg-files/{chapter.adoc => _index.adoc}        |   0
 .../plist/{chapter.adoc => _index.adoc}            |  16 ++--
 .../porting-dads/{chapter.adoc => _index.adoc}     |   4 +-
 .../porting-samplem/{chapter.adoc => _index.adoc}  |   4 +-
 .../porting-why/{chapter.adoc => _index.adoc}      |   0
 .../quick-porting/{chapter.adoc => _index.adoc}    |  14 ++-
 .../security/{chapter.adoc => _index.adoc}         |   0
 .../slow-porting/{chapter.adoc => _index.adoc}     |   9 +-
 .../special/{chapter.adoc => _index.adoc}          |  56 +++++------
 .../testing/{chapter.adoc => _index.adoc}          |   4 +-
 .../upgrading/{chapter.adoc => _index.adoc}        |   6 +-
 .../uses/{chapter.adoc => _index.adoc}             |  45 +++++----
 .../versions/{chapter.adoc => _index.adoc}         |   0
 22 files changed, 238 insertions(+), 190 deletions(-)

diff --git a/documentation/content/en/books/porters-handbook/special/_index.adoc b/documentation/content/en/books/porters-handbook/special/_index.adoc
index 45c69e7d3b..3766f55be2 100644
--- a/documentation/content/en/books/porters-handbook/special/_index.adoc
+++ b/documentation/content/en/books/porters-handbook/special/_index.adoc
@@ -3117,7 +3117,7 @@ Additionally, these constants are defined so all Java ports may be installed in
 |The directory where JAR files installed by other ports are located. Default: [.filename]#${LOCALBASE}/share/java/classes#.
 |===
 
-The related entries are defined in both `PLIST_SUB` (documented in <<plist-sub>>) and `SUB_LIST`.
+The related entries are defined in both `PLIST_SUB` (documented in crossref:plist[plist-sub,Changing pkg-plist Based on Make Variables]) and `SUB_LIST`.
 
 [[java-building-with-ant]]
 === Building with Ant
diff --git a/documentation/content/pt-br/books/porters-handbook/_index.adoc b/documentation/content/pt-br/books/porters-handbook/_index.adoc
index b1f46c3a79..ab02883d70 100644
--- a/documentation/content/pt-br/books/porters-handbook/_index.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/_index.adoc
@@ -4,21 +4,22 @@ authors:
   - author: Projeto de Documentação do FreeBSD
 copyright: 2000-2020 The FreeBSD Documentation Project
 trademarks: ["freebsd", "sun", "unix", "general"]
+next: books/porters-handbook/porting-why
+add_single_page_link: true
 isIndex: true
 ---
 
 = FreeBSD Porter's Handbook
 :doctype: book
 :toc: macro
-:toclevels: 2
+:toclevels: 1
 :icons: font
 :sectnums:
 :sectnumlevels: 6
 :partnums:
 :source-highlighter: rouge
 :experimental:
-:book: true
-:pdf: false
+:images-path: books/porters-handbook/
 
 ifdef::env-beastie[]
 ifdef::backend-html5[]
@@ -44,27 +45,8 @@ endif::[]
 
 '''
 
-toc::[]
+include::{chapters-path}toc.adoc[]
 
 include::{chapters-path}toc-tables.adoc[]
 
-include::{chapters-path}toc-examples.adoc[]
-
-include::{chapters-path}porting-why/chapter.adoc[leveloffset=+1]
-include::{chapters-path}new-port/chapter.adoc[leveloffset=+1]
-include::{chapters-path}quick-porting/chapter.adoc[leveloffset=+1]
-include::{chapters-path}slow-porting/chapter.adoc[leveloffset=+1]
-include::{chapters-path}makefiles/chapter.adoc[leveloffset=+1]
-include::{chapters-path}special/chapter.adoc[leveloffset=+1]
-include::{chapters-path}flavors/chapter.adoc[leveloffset=+1]
-include::{chapters-path}plist/chapter.adoc[leveloffset=+1]
-include::{chapters-path}pkg-files/chapter.adoc[leveloffset=+1]
-include::{chapters-path}testing/chapter.adoc[leveloffset=+1]
-include::{chapters-path}upgrading/chapter.adoc[leveloffset=+1]
-include::{chapters-path}security/chapter.adoc[leveloffset=+1]
-include::{chapters-path}porting-dads/chapter.adoc[leveloffset=+1]
-include::{chapters-path}porting-samplem/chapter.adoc[leveloffset=+1]
-include::{chapters-path}order/chapter.adoc[leveloffset=+1]
-include::{chapters-path}keeping-up/chapter.adoc[leveloffset=+1]
-include::{chapters-path}uses/chapter.adoc[leveloffset=+1]
-include::{chapters-path}versions/chapter.adoc[leveloffset=+1]
+include::{chapters-path}toc-examples.adoc[] 
diff --git a/documentation/content/pt-br/books/porters-handbook/book.adoc b/documentation/content/pt-br/books/porters-handbook/book.adoc
new file mode 100644
index 0000000000..b728ab6e06
--- /dev/null
+++ b/documentation/content/pt-br/books/porters-handbook/book.adoc
@@ -0,0 +1,70 @@
+---
+title: FreeBSD Porter's Handbook
+authors: 
+  - author: Projeto de Documentação do FreeBSD
+copyright: 2000-2020 The FreeBSD Documentation Project
+trademarks: ["freebsd", "sun", "unix", "general"]
+isIndex: true
+---
+
+= FreeBSD Porter's Handbook
+:doctype: book
+:toc: macro
+:toclevels: 2
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:partnums:
+:source-highlighter: rouge
+:experimental:
+:book: true
+:pdf: false
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+:chapters-path: content/{{% lang %}}/books/porters-handbook/
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+:chapters-path:
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+'''
+
+toc::[]
+
+include::{chapters-path}toc-tables.adoc[]
+
+include::{chapters-path}toc-examples.adoc[]
+
+include::{chapters-path}porting-why/_index.adoc[leveloffset=+1]
+include::{chapters-path}new-port/_index.adoc[leveloffset=+1]
+include::{chapters-path}quick-porting/_index.adoc[leveloffset=+1]
+include::{chapters-path}slow-porting/_index.adoc[leveloffset=+1]
+include::{chapters-path}makefiles/_index.adoc[leveloffset=+1]
+include::{chapters-path}special/_index.adoc[leveloffset=+1]
+include::{chapters-path}flavors/_index.adoc[leveloffset=+1]
+include::{chapters-path}plist/_index.adoc[leveloffset=+1]
+include::{chapters-path}pkg-files/_index.adoc[leveloffset=+1]
+include::{chapters-path}testing/_index.adoc[leveloffset=+1]
+include::{chapters-path}upgrading/_index.adoc[leveloffset=+1]
+include::{chapters-path}security/_index.adoc[leveloffset=+1]
+include::{chapters-path}porting-dads/_index.adoc[leveloffset=+1]
+include::{chapters-path}porting-samplem/_index.adoc[leveloffset=+1]
+include::{chapters-path}order/_index.adoc[leveloffset=+1]
+include::{chapters-path}keeping-up/_index.adoc[leveloffset=+1]
+include::{chapters-path}uses/_index.adoc[leveloffset=+1]
+include::{chapters-path}versions/_index.adoc[leveloffset=+1]
diff --git a/documentation/content/pt-br/books/porters-handbook/chapters-order.adoc b/documentation/content/pt-br/books/porters-handbook/chapters-order.adoc
index 3aaba51a43..81f5b000cb 100644
--- a/documentation/content/pt-br/books/porters-handbook/chapters-order.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/chapters-order.adoc
@@ -1,18 +1,18 @@
-porting-why/chapter.adoc
-new-port/chapter.adoc
-quick-porting/chapter.adoc
-slow-porting/chapter.adoc
-makefiles/chapter.adoc
-special/chapter.adoc
-flavors/chapter.adoc
-plist/chapter.adoc
-pkg-files/chapter.adoc
-testing/chapter.adoc
-upgrading/chapter.adoc
-security/chapter.adoc
-porting-dads/chapter.adoc
-porting-samplem/chapter.adoc
-order/chapter.adoc
-keeping-up/chapter.adoc
-uses/chapter.adoc
-versions/chapter.adoc
+porting-why/_index.adoc
+new-port/_index.adoc
+quick-porting/_index.adoc
+slow-porting/_index.adoc
+makefiles/_index.adoc
+special/_index.adoc
+flavors/_index.adoc
+plist/_index.adoc
+pkg-files/_index.adoc
+testing/_index.adoc
+upgrading/_index.adoc
+security/_index.adoc
+porting-dads/_index.adoc
+porting-samplem/_index.adoc
+order/_index.adoc
+keeping-up/_index.adoc
+uses/_index.adoc
+versions/_index.adoc
diff --git a/documentation/content/pt-br/books/porters-handbook/flavors/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/flavors/_index.adoc
similarity index 95%
rename from documentation/content/pt-br/books/porters-handbook/flavors/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/flavors/_index.adoc
index 412309f480..523bd8a36c 100644
--- a/documentation/content/pt-br/books/porters-handbook/flavors/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/flavors/_index.adoc
@@ -353,8 +353,8 @@ USES=	python:3.5+
 [[flavors-auto-lua]]
 == `USES=lua` e Flavors
 
-Ao usar <<uses-lua,`USES=lua:module`>> ou <<uses-lua,`USES=lua:flavors`>>, o port terá automaticamente `FLAVORS` preenchidos com as versões Lua que suporta. No entanto, não se espera que aplicativos comuns (em vez de módulos Lua) usem este recurso; a maioria das aplicações que incorporam ou usam Lua simplesmente devem usar `USES=lua`.
+Ao usar crossref:uses[uses-lua,`lua:module`] ou crossref:uses[uses-lua,`lua:flavors`], o port terá automaticamente `FLAVORS` preenchidos com as versões Lua que suporta. No entanto, não se espera que aplicativos comuns (em vez de módulos Lua) usem este recurso; a maioria das aplicações que incorporam ou usam Lua simplesmente devem usar `USES=lua`.
 
 `LUA_FLAVOR` está disponível (e deve ser usado) para depender da versão correta das dependências, independentemente do port usar os parâmetros `flavors` ou `module`.
 
-Veja <<using-lua>> para maiores informações.
+Veja crossref:special[using-lua,Usando Lua] para maiores informações.
diff --git a/documentation/content/pt-br/books/porters-handbook/keeping-up/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/keeping-up/_index.adoc
similarity index 100%
rename from documentation/content/pt-br/books/porters-handbook/keeping-up/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/keeping-up/_index.adoc
diff --git a/documentation/content/pt-br/books/porters-handbook/makefiles/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/makefiles/_index.adoc
similarity index 98%
rename from documentation/content/pt-br/books/porters-handbook/makefiles/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/makefiles/_index.adoc
index 97d6a7a8d0..f3d616d4c2 100644
--- a/documentation/content/pt-br/books/porters-handbook/makefiles/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/makefiles/_index.adoc
@@ -1893,7 +1893,7 @@ DISTNAME=	foo
 EXTRACT_SUFX=	.tar.gzip
 ....
 
-O `USES=tar[:xxx]`, `USES=lha` ou `USES=zip` define automaticamente `EXTRACT_SUFX` com as extensões de arquivo mais comuns, conforme necessário, consulte <<uses>> para mais detalhes. Se nenhum destes estiver definido, o `EXTRACT_SUFX` padrão é `.tar.gz`.
+O `USES=tar[:xxx]`, `USES=lha` ou `USES=zip` define automaticamente `EXTRACT_SUFX` com as extensões de arquivo mais comuns, conforme necessário, consulte crossref:uses[uses, Usando Macros `USES`] para mais detalhes. Se nenhum destes estiver definido, o `EXTRACT_SUFX` padrão é `.tar.gz`.
 
 [NOTE]
 ====
@@ -2230,7 +2230,7 @@ PATCHFILES=	patch1:test
 ** `fetch-list`: funciona como o antigo `fetch-list`, com a exceção de que faz agrupamentos exatamente como o `do-fetch`.
 ** `master-sites` e `patch-sites`: (incompatível com versões mais antigas) somente retorna os elementos do grupo `DEFAULT`; na verdade, eles executam os targets `master-sites-default` e `patch-sites-default` respectivamente.
 + 
-Além disso, usar o target `master-sites-all` ou `patch-sites-all` é o preferido para verificar diretamente `MASTER_SITES` ou `PATCH_SITES`. Além disso, não é garantido que a checagem direta funcione em versões futuras. Veja <<porting-master-sites-n-new-port-targets-master-sites-all>> para obter mais informações sobre esses novos tagets de port.
+Além disso, usar o target `master-sites-all` ou `patch-sites-all` é o preferido para verificar diretamente `MASTER_SITES` ou `PATCH_SITES`. Além disso, não é garantido que a checagem direta funcione em versões futuras. Veja <<porting-master-sites-n-new-port-targets-master-sites-all, B>> para obter mais informações sobre esses novos tagets de port.
 
 . Novos Targets de Port
 .. Existem targets `master-sites-_n_` e `patch-sites-_n_` que listarão os elementos do respectivo grupo _n_ dentro de `MASTER_SITES` e `PATCH_SITES` respectivamente. Por exemplo, ambos `master-sites-DEFAULT` e `patch-sites-DEFAULT` retornarão os elementos do grupo `DEFAULT`, `master-sites-test` e `patch-sites-test` do grupo `test`.
@@ -3058,7 +3058,7 @@ LICENSE_COMB=	multi
 [[makefile-portscout]]
 == `PORTSCOUT`
 
-Portscout é um utilitário de verificação de distfile automatizado para a Coleção de Ports do FreeBSD, descrito em detalhes em <<distfile-survey>>.
+Portscout é um utilitário de verificação de distfile automatizado para a Coleção de Ports do FreeBSD, descrito em detalhes em crossref:keeping-up[distfile-survey,Portscout: o Scanner de Distfile de Ports do FreeBSD].
 
 `PORTSCOUT` define condições especiais dentro das quais o scanner distfile do Portscout é restrito.
 
@@ -3211,7 +3211,7 @@ A dependência é verificada a partir do target `extract`. A parte _target_ pode
 
 [NOTE]
 ====
-Use esta variável somente se a extração ainda não funcionar (o padrão usa `tar`) e não funciona com `USES=tar`, `USES=lha` ou `USES=zip` descrito em <<uses>>.
+Use esta variável somente se a extração ainda não funcionar (o padrão usa `tar`) e não funciona com `USES=tar`, `USES=lha` ou `USES=zip` descrito em crossref:uses[uses,Usando Macros `USES`].
 ====
 
 [[makefile-patch_depends]]
@@ -3238,7 +3238,7 @@ Parâmetros podem ser adicionados para definir diferentes recursos e dependênci
 USES= feature[:arguments]
 ....
 
-Para a lista completa de valores, por favor veja o <<uses>>.
+Para a lista completa de valores, por favor veja o crossref:uses[uses,Usando Macros `USES`].
 
 [WARNING]
 ====
@@ -3282,7 +3282,7 @@ O port requer GCC (gcc ou {gcc-plus-plus}) para compilar. Alguns ports precisam
 
 |===
 
-Variáveis ​​relacionadas ao gmake e [.filename]#configure# são descritos em <<building>>, enquanto autoconf, automake  e libtool são descritos em <<using-autotools>>. Variáveis relacionadas ao Perl ​são descritas em <<using-perl>>. Variáveis ​​X11 são listadas em <<using-x11>>. <<using-gnome>> lida com o GNOME e <<using-kde>> com variáveis ​​relacionadas ao KDE. <<using-java>> documenta variáveis ​​Java, enquanto <<using-php>> contém informações sobre Apache, PHP e módulos PEAR. Python  é discutido em <<using-python>>, e Ruby em <<using-ruby>>. <<using-sdl>> fornece variáveis ​​usadas para aplicações SDL e, finalmente, <<using-xfce>> contém informações sobre o Xfce.
+Variáveis ​​relacionadas ao gmake e [.filename]#configure# são descritos em crossref:special[building, Mecanismos de Compilação], enquanto autoconf, automake  e libtool são descritos em crossref:special[using-autotools, Usando o GNU Autotools]. Variáveis relacionadas ao Perl ​são descritas em crossref:special[using-perl, Usando Perl]. Variáveis ​​X11 são listadas em crossref:special[using-x11, Usando o X11]. crossref:special[using-gnome, Usando o GNOME] lida com o GNOME e crossref:special[using-kde, Usando o KDE] com variáveis ​​relacionadas ao KDE. crossref:special[using-java, Usando Java] documenta variáveis ​​Java, enquanto crossref:special[using-php, Aplicações Web, Apache e PHP] contém informações sobre Apache, PHP e módulos PEAR. Python  é discuti
 do em crossref:special[using-python, Usando Python], e Ruby em crossref:special[using-ruby, Usando Ruby]. crossref:special[using-sdl, Usando SDL] fornece variáveis ​​usadas para aplicações SD
 L e, finalmente, crossref:special[using-xfce, Usando o Xfce] contém informações sobre o Xfce.
 
 [[makefile-version-dependency]]
 === Versão Mínima de uma Dependência
@@ -4535,7 +4535,7 @@ Existem três variáveis ​​diferentes para registrar um conflito entre pacot
 
 [NOTE]
 ====
-As variáveis ​​de conflito definem automaticamente a variável `IGNORE`, que é mais amplamente documentada em <<dads-noinstall>>.
+As variáveis ​​de conflito definem automaticamente a variável `IGNORE`, que é mais amplamente documentada em crossref:porting-dads[dads-noinstall,Marcando um Port não Instalável com a variável `BROKEN` `FORBIDDEN` ou `IGNORE`].
 ====
 
 Ao remover um dos vários ports conflitados, é aconselhável reter `CONFLICTS` nos outros ports por alguns meses para atender usuários que apenas fazem atualizações de vez em quando.
@@ -4615,7 +4615,7 @@ O estágio `install` é muito importante para o usuário final porque ele adicio
 [[install-macros]]
 === Macros `INSTALL_*`
 
-Use as macros fornecidas em [.filename]#bsd.port.mk# para garantir a propriedade correta dos arquivos nos targets `*-install` do port. Defina a propriedade diretamente em [.filename]#pkg-plist# com as entradas correspondentes, como `@(_owner_,_group_,)`, `@owner _owner_`, e `@group _group_`. Esses operadores funcionam até serem substituídos, ou até o final do [.filename]#pkg-plist#, lembre-se de redefini-los depois que eles não forem mais necessários. O valor de propriedade padrão é `root:wheel`. Veja <<plist-keywords-base>> para maiores informações.
+Use as macros fornecidas em [.filename]#bsd.port.mk# para garantir a propriedade correta dos arquivos nos targets `*-install` do port. Defina a propriedade diretamente em [.filename]#pkg-plist# com as entradas correspondentes, como `@(_owner_,_group_,)`, `@owner _owner_`, e `@group _group_`. Esses operadores funcionam até serem substituídos, ou até o final do [.filename]#pkg-plist#, lembre-se de redefini-los depois que eles não forem mais necessários. O valor de propriedade padrão é `root:wheel`. Veja crossref:plist[plist-keywords-base,Keywords Básicas] para maiores informações.
 
 * `INSTALL_PROGRAM` é um comando para instalar executáveis ​​binários.
 * `INSTALL_SCRIPT` é um comando para instalar scripts executáveis.
@@ -4660,7 +4660,7 @@ Use man:file[1] em um arquivo para determinar se ele foi otimizado (stripped). B
 ====
 Quando `WITH_DEBUG` estiver definido, os arquivos elf _não devem_ ser otimizados (stripped).
 
-As variáveis ​​(`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) e <<uses,`USES`>> fornecidas pelo framework lidam com isso automaticamente.
+As variáveis ​​(`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) e crossref:uses[uses,`USES`] fornecidas pelo framework lidam com isso automaticamente.
 
 Alguns softwares, adicionam `-s` em seus `LDFLAGS`, neste caso, ou remova o `-s` se `WITH_DEBUG` estiver definido, ou remova o incondicionalmente e use `STRIP_CMD` em `post-install`.
 ====
@@ -4668,7 +4668,7 @@ Alguns softwares, adicionam `-s` em seus `LDFLAGS`, neste caso, ou remova o `-s`
 [[install-copytree]]
 === Instalando uma Árvore Inteira de Arquivos
 
-Às vezes, um grande número de arquivos devem ser instalados preservando sua organização hierárquica. Por exemplo, copiando de uma árvore de diretórios inteira do `WRKSRC` para um diretório de destino sob `PREFIX`. Observe que `PREFIX`, `EXEMPLESDIR`, `DATADIR` e outras variáveis ​​de caminho sempre devem ser precedidas por `STAGEDIR` para respeitar o staging (ver <<staging>>).
+Às vezes, um grande número de arquivos devem ser instalados preservando sua organização hierárquica. Por exemplo, copiando de uma árvore de diretórios inteira do `WRKSRC` para um diretório de destino sob `PREFIX`. Observe que `PREFIX`, `EXEMPLESDIR`, `DATADIR` e outras variáveis ​​de caminho sempre devem ser precedidas por `STAGEDIR` para respeitar o staging (ver crossref:special[staging,Staging]).
 
 Existem duas macros para essa situação. A vantagem de usar essas macros em vez de `cp` é que elas garantem a propriedade e permissão adequada dos arquivos nos arquivos de destino. A primeira macro, `COPYTREE_BIN`, irá definir todos os arquivos instalados como sendo executáveis, sendo assim, adequado para instalações em [.filename]#PREFIX/bin#. A segunda macro,`COPYTREE_SHARE`, não define permissões de execução nos arquivos e, portanto, é adequado para instalar arquivos sob o destino [.filename]#PREFIX/share#.
 
@@ -4709,7 +4709,7 @@ Se o software tiver alguma documentação diferente do manual padrão e páginas
 
 Crie um novo diretório para o port. O nome do diretório é `DOCSDIR`. Isso geralmente é igual a `PORTNAME`. No entanto, se o usuário desejar que versões diferentes do port sejam instaladas ao mesmo tempo, `PKGNAME` pode ser usado.
 
-Já que apenas os arquivos listados no [.filename]#pkg-plist# são instalados, é seguro sempre instalar documentações no `STAGEDIR` (veja <<staging>>). Por isso, blocos `.if` são necessários apenas quando os arquivos forem grandes o suficiente para causarem sobrecarga significativa de I/O.
+Já que apenas os arquivos listados no [.filename]#pkg-plist# são instalados, é seguro sempre instalar documentações no `STAGEDIR` (veja crossref:special[staging,Staging]). Por isso, blocos `.if` são necessários apenas quando os arquivos forem grandes o suficiente para causarem sobrecarga significativa de I/O.
 
 [.programlisting]
 ....
@@ -4800,7 +4800,7 @@ USES=	python:3.4+,build
 BINARY_ALIAS=	python3=${PYTHON_CMD}
 ....
 
-Veja <<using-python>> para mais informações sobre `USES=python`.
+Veja crossref:special[using-python,Usando Python] para mais informações sobre `USES=python`.
 ====
 
 [NOTE]
diff --git a/documentation/content/pt-br/books/porters-handbook/new-port/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/new-port/_index.adoc
similarity index 96%
rename from documentation/content/pt-br/books/porters-handbook/new-port/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/new-port/_index.adoc
index eeb1c1c212..15bf8ef6dd 100644
--- a/documentation/content/pt-br/books/porters-handbook/new-port/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/new-port/_index.adoc
@@ -44,7 +44,7 @@ endif::[]
 
 Interessado em fazer um novo port ou atualizar os ports existentes? Ótimo!
 
-O que segue são algumas instruções para criar um novo port para o FreeBSD. Para atualizar um port existente, leia este documento e depois leia o <<port-upgrading>>.
+O que segue são algumas instruções para criar um novo port para o FreeBSD. Para atualizar um port existente, leia este documento e depois leia o crossref:upgrading[port-upgrading, Atualizando um Port].
 
 Quando este documento não for suficientemente detalhado, consulte [.filename]#/usr/ports/Mk/bsd.port.mk#, que é incluído por todos os [.filename]##Makefile##s dos ports. Mesmo aqueles que não estão hackeando os [.filename]##Makefile##s diariamente podem ganhar muito conhecimento com isso. Além disso, perguntas específicas podem ser enviadas à http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports[ Lista de discussão do ports do FreeBSD].
 
diff --git a/documentation/content/pt-br/books/porters-handbook/order/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/order/_index.adoc
similarity index 63%
rename from documentation/content/pt-br/books/porters-handbook/order/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/order/_index.adoc
index 78da146b3f..a75eb42b8d 100644
--- a/documentation/content/pt-br/books/porters-handbook/order/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/order/_index.adoc
@@ -75,54 +75,54 @@ Nos blocos a seguir, apenas defina as variáveis ​​que são requeridas pelo
 
 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:
 
-* <<makefile-portname,`PORTNAME`>>
-* <<makefile-versions,`PORTVERSION`>>
-* <<makefile-versions,`DISTVERSIONPREFIX`>>
-* <<makefile-versions,`DISTVERSION`>>
-* <<makefile-versions,`DISTVERSIONSUFFIX`>>
-* <<makefile-portrevision,`PORTREVISION`>>
-* <<makefile-portepoch,`PORTEPOCH`>>
-* <<makefile-categories,`CATEGORIES`>>
-* <<makefile-master_sites,`MASTER_SITES`>>
-* <<makefile-master_sites-shorthand,`MASTER_SITE_SUBDIR`>> (descontinuado)
-* <<porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`>>
-* <<porting-pkgnameprefix-suffix,`PKGNAMESUFFIX`>>
-* <<makefile-distname,`DISTNAME`>>
-* <<makefile-extract_sufx,`EXTRACT_SUFX`>>
-* <<makefile-distfiles-definition,`DISTFILES`>>
-* <<makefile-dist_subdir,`DIST_SUBDIR`>>
-* <<makefile-extract_only,`EXTRACT_ONLY`>>
+* crossref:makefiles[makefile-portname,`PORTNAME`]
+* crossref:makefiles[makefile-versions,`PORTVERSION`][<<portversion-footnote, 1>>]
+* crossref:makefiles[makefile-versions,`DISTVERSIONPREFIX`]
+* crossref:makefiles[makefile-versions,`DISTVERSION`][<<portversion-footnote, 1>>]
+* crossref:makefiles[makefile-versions,`DISTVERSIONSUFFIX`]
+* crossref:makefiles[makefile-portrevision,`PORTREVISION`]
+* crossref:makefiles[makefile-portepoch,`PORTEPOCH`]
+* crossref:makefiles[makefile-categories,`CATEGORIES`]
+* crossref:makefiles[makefile-master_sites,`MASTER_SITES`]
+* crossref:makefiles[makefile-master_sites-shorthand,`MASTER_SITE_SUBDIR`] (descontinuado)
+* crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`]
+* crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMESUFFIX`]
+* crossref:makefiles[makefile-distname,`DISTNAME`]
+* crossref:makefiles[makefile-extract_sufx,`EXTRACT_SUFX`]
+* crossref:makefiles[makefile-distfiles-definition,`DISTFILES`]
+* crossref:makefiles[makefile-dist_subdir,`DIST_SUBDIR`]
+* crossref:makefiles[makefile-extract_only,`EXTRACT_ONLY`]
 
 [[porting-order-patch]]
 == Bloco `PATCHFILES`
 
 Este bloco é opcional. As variáveis ​​são:
 
-* <<porting-patchfiles,`PATCH_SITES`>>
-* <<porting-patchfiles,`PATCHFILES`>>
-* <<porting-patchfiles,`PATCH_DIST_STRIP`>>
+* crossref:makefiles[porting-patchfiles,`PATCH_SITES`]
+* crossref:makefiles[porting-patchfiles,`PATCHFILES`]
+* crossref:makefiles[porting-patchfiles,`PATCH_DIST_STRIP`]
 
 [[porting-order-maintainer]]
 == Bloco `MAINTAINER`
 
 Este bloco é obrigatório. As variáveis ​​são:
 
-* <<makefile-maintainer,`MAINTAINER`>>
-* <<makefile-comment,`COMMENT`>>
+* crossref:makefiles[makefile-maintainer,`MAINTAINER`]
+* crossref:makefiles[makefile-comment,`COMMENT`]
 
 [[porting-order-license]]
 == Bloco `LICENSE`
 
 Este bloco é opcional, embora seja altamente recomendado. As variáveis ​​são:
 
-* <<licenses-license,`LICENSE`>>
-* <<licenses-license_comb,`LICENSE_COMB`>>
-* <<licenses-license_groups,`LICENSE_GROUPS`>> ou `LICENSE_GROUPS_NOME`
-* <<licenses-license_name,`LICENSE_NAME`>> ou `LICENSE_NAME_NOME`
-* <<licenses-license_text,`LICENSE_TEXT`>> ou `LICENSE_TEXT_NOME`
-* <<licenses-license_file,`LICENSE_FILE`>> ou `LICENSE_FILE_NOME`
-* <<licenses-license_perms,`LICENSE_PERMS`>> ou `LICENSE_PERMS_NOME`
-* <<licenses-license_distfiles,`LICENSE_DISTFILES`>> ou `LICENSE_DISTFILES_NOME`
+* crossref:makefiles[licenses-license,`LICENSE`]
+* crossref:makefiles[licenses-license_comb,`LICENSE_COMB`]
+* crossref:makefiles[licenses-license_groups,`LICENSE_GROUPS`] ou `LICENSE_GROUPS_NAME`
+* crossref:makefiles[licenses-license_name,`LICENSE_NAME`] ou `LICENSE_NAME_NAME`
+* crossref:makefiles[licenses-license_text,`LICENSE_TEXT`] ou `LICENSE_TEXT_NAME`
+* crossref:makefiles[licenses-license_file,`LICENSE_FILE`] ou `LICENSE_FILE_NAME`
+* crossref:makefiles[licenses-license_perms,`LICENSE_PERMS`] ou `LICENSE_PERMS_NAME_`
+* crossref:makefiles[licenses-license_distfiles,`LICENSE_DISTFILES`] ou `LICENSE_DISTFILES_NAME`
 
 Se houver várias licenças, ordene as variáveis LICENSE_VAR_NOME pelo nome de licença.
 
@@ -131,21 +131,21 @@ Se houver várias licenças, ordene as variáveis LICENSE_VAR_NOME pelo nome de
 
 Este bloco é opcional. As variáveis ​​são:
 
-* <<dads-deprecated,`DEPRECATED`>>
-* <<dads-deprecated,`EXPIRATION_DATE`>>
-* <<dads-noinstall,`FORBIDDEN`>>
-* <<dads-noinstall,`BROKEN`>>
-* <<dads-noinstall,`BROKEN_*`>>
-* <<dads-noinstall,`IGNORE`>>
-* <<dads-noinstall,`IGNORE__*_`>>
-* <<dads-noinstall,`ONLY_FOR_ARCHS`>>
-* <<dads-noinstall,`ONLY_FOR_ARCHS_REASON_*`>>
-* <<dads-noinstall,`NOT_FOR_ARCHS`>>
-* <<dads-noinstall,`NOT_FOR_ARCHS_REASON_*`>>
+* crossref:porting-dads[dads-deprecated,`DEPRECATED`]
+* crossref:porting-dads[dads-deprecated,`EXPIRATION_DATE`]
+* crossref:porting-dads[dads-noinstall,`FORBIDDEN`]
+* crossref:porting-dads[dads-noinstall,`BROKEN`]
+* crossref:porting-dads[dads-noinstall,`BROKEN_*`]
+* crossref:porting-dads[dads-noinstall,`IGNORE`]
+* crossref:porting-dads[dads-noinstall,`IGNORE_*`]
+* crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS`]
+* crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS_REASON*`]
+* crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS`]
+* crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS_REASON*`]
 
 [NOTE]
 ====
-`BROKEN_*` e `IGNORE_*` podem ser qualquer variável genérica, por exemplo, `IGNORE_amd64`, `BROKEN_FreeBSD_10`, etc. Com exceção das variáveis ​​que dependem de uma variável <<uses,`USES`>>, coloque essas em <<porting-order-uses>>. Por exemplo, `IGNORE_WITH_PHP` só funciona se <<uses-php,`USES=php`>> estiver definido e a variável `BROKEN_SSL` somente se <<uses-ssl,`USES=ssl`>> estiver definido.
+`BROKEN_*` e `IGNORE_*` podem ser qualquer variável genérica, por exemplo, `IGNORE_amd64`, `BROKEN_FreeBSD_10`, etc. Com exceção das variáveis ​​que dependem de uma variável crossref:uses[uses,`USES`], coloque essas em <<porting-order-uses>>. Por exemplo, `IGNORE_WITH_PHP` só funciona se crossref:uses[xuses-php,`php`] estiver definido e a variável `BROKEN_SSL` somente se crossref:uses[uses-ssl,`ssl`] estiver definido.
 
 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 [.filename]#bsd.port.options.mk# ou [.filename]#bsd.port.pre.mk#, então essas variáveis ​​devem ser definidas mais tarde, em <<porting-order-rest>>.
 ====
@@ -155,12 +155,12 @@ Se o port estiver marcado como BROKEN quando algumas condições forem atendidas
 
 Este bloco é opcional. As variáveis ​​são:
 
-* <<makefile-fetch_depends,`FETCH_DEPENDS`>>
-* <<makefile-extract_depends,`EXTRACT_DEPENDS`>>
-* <<makefile-patch_depends,`PATCH_DEPENDS`>>
-* <<makefile-build_depends,`BUILD_DEPENDS`>>
-* <<makefile-lib_depends,`LIB_DEPENDS`>>
-* <<makefile-run_depends,`RUN_DEPENDS`>>
+* crossref:makefiles:[makefile-fetch_depends,`FETCH_DEPENDS`]
+* crossref:makefiles:[makefile-extract_depends,`EXTRACT_DEPENDS`]
+* crossref:makefiles:[makefile-patch_depends,`PATCH_DEPENDS`]
+* crossref:makefiles:[makefile-build_depends,`BUILD_DEPENDS`]
+* crossref:makefiles:[makefile-lib_depends,`LIB_DEPENDS`]
+* crossref:makefiles:[makefile-run_depends,`RUN_DEPENDS`]
 * `TEST_DEPENDS`
 
 [[porting-order-flavors]]
@@ -168,7 +168,7 @@ Este bloco é opcional. As variáveis ​​são:
 
 Este bloco é opcional.
 
-Comece esta seção com as definições de `FLAVORS`. Continue com as possíveis variáveis assistentes de Flavors. Veja <<flavors-using>> para maiores informações.
+Comece esta seção com as definições de `FLAVORS`. Continue com as possíveis variáveis assistentes de Flavors. Veja  crossref:flavors[flavors-using,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.
 
@@ -177,7 +177,7 @@ Variáveis ​​de definição de construção não disponíveis como assistent
 
 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 <<makefile-master_sites-github,`USE_GITHUB`>>, coloque sempre as variáveis `GH_*` ​​logo após ela.
+Mantenha as variáveis ​​relacionadas juntas. Por exemplo, se estiver usando a variável crossref:makefiles[makefile-master_sites-github,`USE_GITHUB`], coloque sempre as variáveis `GH_*` ​​logo após ela.
 
 [[porting-order-variables]]
 == Variáveis ​​Padrão [.filename]#bsd.port.mk#
@@ -189,7 +189,7 @@ A ordem não é importante, no entanto, tente manter variáveis ​​semelhante
 [[porting-order-options]]
 == Opções e Assistentes
 
-Se o port usa o <<makefile-options,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.
+Se o port usa o crossref:makefiles[makefile-options,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.
 
 [[porting-order-options-ex1]]
 .Exemplo de Ordenamento das Variáveis ​​de Opções
diff --git a/documentation/content/pt-br/books/porters-handbook/pkg-files/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/pkg-files/_index.adoc
similarity index 100%
rename from documentation/content/pt-br/books/porters-handbook/pkg-files/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/pkg-files/_index.adoc
diff --git a/documentation/content/pt-br/books/porters-handbook/plist/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/plist/_index.adoc
similarity index 97%
rename from documentation/content/pt-br/books/porters-handbook/plist/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/plist/_index.adoc
index 7dc7c5c089..275ee64b41 100644
--- a/documentation/content/pt-br/books/porters-handbook/plist/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/plist/_index.adoc
@@ -1,11 +1,11 @@
 ---
-title: Capítulo 8. Prácticas Avançadas de [.filename]#pkg-plist#
+title: Capítulo 8. Prácticas Avançadas de pkg-plist
 prev: books/porters-handbook/flavors
 next: books/porters-handbook/pkg-files
 ---
 
 [[plist]]
-= Prácticas Avançadas de [.filename]#pkg-plist#
+= Prácticas Avançadas de pkg-plist
 :doctype: book
 :toc: macro
 :toclevels: 1
@@ -45,7 +45,7 @@ endif::[]
 [[plist-sub]]
 == Alterando o [.filename]#pkg-plist# Baseado em Variáveis Make
 
-Alguns ports, particularmente os `p5-` ports, precisam mudar seus [.filename]#pkg-plist# dependendo de quais opções eles são configurados com (ou versão de `perl`, no caso de `p5-` ports). Para tornar isso fácil, todas as instâncias [.filename]#pkg-plist# de `%%OSREL%%`, `%%PERL_VER%%` e `%%PERL_VERSION%%` serão substituídas apropriadamente. O valor de `%%OSREL%%` é a revisão numérica do sistema operacional (por exemplo,`4.9`). `%%PERL_VERSION%%` e `%%PERL_VER%%` é o número completo da versão `perl` (por exemplo,`5.8.9`). Muitos outros `%%_VARS_%%` relacionados aos arquivos de documentação do port são descritos na <<install-documentation,seção relevante>>.
+Alguns ports, particularmente os `p5-` ports, precisam mudar seus [.filename]#pkg-plist# dependendo de quais opções eles são configurados com (ou versão de `perl`, no caso de `p5-` ports). Para tornar isso fácil, todas as instâncias [.filename]#pkg-plist# de `%%OSREL%%`, `%%PERL_VER%%` e `%%PERL_VERSION%%` serão substituídas apropriadamente. O valor de `%%OSREL%%` é a revisão numérica do sistema operacional (por exemplo,`4.9`). `%%PERL_VERSION%%` e `%%PERL_VER%%` é o número completo da versão `perl` (por exemplo,`5.8.9`). Muitos outros `%%_VARS_%%` relacionados aos arquivos de documentação do port são descritos na crossref:makefiles[install-documentation,seção relevante].
 
 Para fazer outras substituições, defina `PLIST_SUB` com uma lista de pares `_VAR_=_VALOR_` e as instâncias de `%%_VAR_%%` serão substituídas por _VALOR_ no [.filename]#pkg-plist#.
 
@@ -59,7 +59,7 @@ PLIST_SUB=	OCTAVE_VERSION=${OCTAVE_VERSION}
 
 no [.filename]#Makefile# e use `%%OCTAVE_VERSION%%` onde quer que a versão apareça em [.filename]#pkg-plist#. Quando o port é atualizado, não será necessário editar dezenas (ou em alguns casos, centenas) de linhas no [.filename]#pkg-plist#.
 
-Se os arquivos são instalados condicionalmente pelas opções definidas no port, a maneira usual de lidar com isso é prefixando as linhas [.filename]#pkg-plist# com `%%OPT%%` para linhas necessárias quando a opção está ativada ou `%%NO_OPT%%` quando a opção está desativada e adicionando `OPTIONS_SUB=yes` ao [.filename]#Makefile#. Veja <<options_sub>> para mais informações.
+Se os arquivos são instalados condicionalmente pelas opções definidas no port, a maneira usual de lidar com isso é prefixando as linhas [.filename]#pkg-plist# com `%%OPT%%` para linhas necessárias quando a opção está ativada ou `%%NO_OPT%%` quando a opção está desativada e adicionando `OPTIONS_SUB=yes` ao [.filename]#Makefile#. Veja crossref:makefiles[options_sub,`OPTIONS_SUB`] para mais informações.
 
 Por exemplo, se houver arquivos que são instalados apenas quando a opção `X11` está ativada, e o [.filename]#Makefile# tem:
 
@@ -273,20 +273,20 @@ Os argumentos são opcionais. Se apenas o grupo e o modo precisarem ser alterado
 [WARNING]
 ====
 
-Se uma keyword for utilizada em uma entrada de <<makefile-options,opção>>, ela precisa ser adicionada após o assistente:
+Se uma keyword for utilizada em uma entrada de crossref:makefiles[makefile-options,opção], ela precisa ser adicionada após o assistente:
 
 [.programlisting]
 ....
 %%FOO%%@sample etc/orbit.conf.sample
 ....
 
-Isso é porque os assistentes plist das opções são utilizados para comentar as linhas, e por isso eles precisam ser inseridos no início. Veja <<options_sub>> para maiores informações.
+Isso é porque os assistentes plist das opções são utilizados para comentar as linhas, e por isso eles precisam ser inseridos no início. Veja crossref:makefiles[options_sub,`OPTIONS_SUB`] para maiores informações.
 ====
 
 [[plist-keywords-desktop-file-utils]]
 === `@desktop-file-utils`
 
-Irá executar o `update-desktop-database -q` após a instalação e desinstalação. _Nunca_ use diretamente, adicione <<uses-desktop-file-utils,`USES=utilitários de arquivo de desktop`>> ao [.filename]#Makefile#.
+Irá executar o `update-desktop-database -q` após a instalação e desinstalação. _Nunca_ use diretamente, adicione crossref:uses[uses-desktop-file-utils,`USES=desktop-file-utils`] ao [.filename]#Makefile#.
 
 [[plist-keywords-fc]]
 === `@fc` _directory_
@@ -311,7 +311,7 @@ Executa `glib-compile-schemas` na instalação e desinstalação.
 [[plist-keywords-info]]
 === `@info` _file_
 
-Adiciona o arquivo passado como argumento ao plist e atualiza o índice do documento info na instalação e desinstalação. Além disso, ele remove o índice se estiver vazio na desinstalação. Isso nunca deve ser usado manualmente, mas sempre `INFO`. Veja <<makefile-info>> para maiores informações.
+Adiciona o arquivo passado como argumento ao plist e atualiza o índice do documento info na instalação e desinstalação. Além disso, ele remove o índice se estiver vazio na desinstalação. Isso nunca deve ser usado manualmente, mas sempre `INFO`. Veja crossref:makefiles[makefile-info,Arquivos de Informação] para maiores informações.
 
 [[plist-keywords-kld]]
 === `@kld` _directory_
diff --git a/documentation/content/pt-br/books/porters-handbook/porting-dads/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/porting-dads/_index.adoc
similarity index 98%
rename from documentation/content/pt-br/books/porters-handbook/porting-dads/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/porting-dads/_index.adoc
index 36d877d007..5864e41365 100644
--- a/documentation/content/pt-br/books/porters-handbook/porting-dads/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/porting-dads/_index.adoc
@@ -84,7 +84,7 @@ para o lugar adequado no arquivo [.filename]#.c#.
 #endif
 ....
 
-Uma lista completa de valores `__FreeBSD_version` está disponível em <<versions>>.
+Uma lista completa de valores `__FreeBSD_version` está disponível em crossref:versions[versions, Valores `__FreeBSD_version`].
 
 [[dads-after-port-mk]]
 == Escrevendo Algo Depois do [.filename]#bsd.port.mk#
@@ -403,7 +403,7 @@ Não existe uma política definida sobre o tempo de aviso a ser dado. A prática
 
 A maneira correta de um [.filename]#Makefile# sinalizar que o port não pode ser instalado devido a algum fator externo (por exemplo, o usuário especificou uma combinação ilegal de opções de compilação) é definir um valor não vazio para `IGNORE`. Este valor será formatado e mostrado ao usuário pelo comando `make install`.
 
-É um equívoco comum usar `.error` para esse propósito. O problema com isso é que muitas ferramentas automatizadas que funcionam com a árvore de ports falharão nessa situação. A ocorrência mais comum disso é encontrada ao tentar construir o arquivo [.filename]#/usr/ports/INDEX# (Veja <<make-describe>>). No entanto, comandos ainda mais triviais, como `make maintainer` também irão falhar neste cenário. E Isto não é aceitável.
+É um equívoco comum usar `.error` para esse propósito. O problema com isso é que muitas ferramentas automatizadas que funcionam com a árvore de ports falharão nessa situação. A ocorrência mais comum disso é encontrada ao tentar construir o arquivo [.filename]#/usr/ports/INDEX# (Veja crossref:testing[make-describe, Executando `make describe`]). No entanto, comandos ainda mais triviais, como `make maintainer` também irão falhar neste cenário. E Isto não é aceitável.
 
 [[dot-error-breaks-index]]
 .Como Evitar o Uso de `.error`
diff --git a/documentation/content/pt-br/books/porters-handbook/porting-samplem/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/porting-samplem/_index.adoc
similarity index 97%
rename from documentation/content/pt-br/books/porters-handbook/porting-samplem/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/porting-samplem/_index.adoc
index dbcd834f8d..3a6e02ebdf 100644
--- a/documentation/content/pt-br/books/porters-handbook/porting-samplem/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/porting-samplem/_index.adoc
@@ -1,11 +1,11 @@
 ---
-title: Capítulo 14. Um Exemplo de [.filename]#Makefile#
+title: Capítulo 14. Um Exemplo de Makefile
 prev: books/porters-handbook/porting-dads
 next: books/porters-handbook/order
 ---
 
 [[porting-samplem]]
-= Um Exemplo de [.filename]#Makefile#
+= Um Exemplo de Makefile
 :doctype: book
 :toc: macro
 :toclevels: 1
diff --git a/documentation/content/pt-br/books/porters-handbook/porting-why/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/porting-why/_index.adoc
similarity index 100%
rename from documentation/content/pt-br/books/porters-handbook/porting-why/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/porting-why/_index.adoc
diff --git a/documentation/content/pt-br/books/porters-handbook/quick-porting/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/quick-porting/_index.adoc
similarity index 94%
rename from documentation/content/pt-br/books/porters-handbook/quick-porting/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/quick-porting/_index.adoc
index 905a356219..31223a5e39 100644
--- a/documentation/content/pt-br/books/porters-handbook/quick-porting/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/quick-porting/_index.adoc
@@ -42,13 +42,13 @@ toc::[]
 include::../../../../../shared/asciidoctor.adoc[]
 endif::[]
 
-Esta seção descreve como criar rapidamente um novo port. Para aplicativos em que esse método rápido não for adequado, o processo "Slow Porting" está descrito no <<slow-porting>>.
+Esta seção descreve como criar rapidamente um novo port. Para aplicativos em que esse método rápido não for adequado, o processo "Slow Porting" está descrito no crossref:slow-porting[slow-porting,Port Lento].
 
 Primeiro, obtenha o tarball original e coloque-o em `DISTDIR`, que por padrão é o diretório [.filename]#/usr/ports/distfiles#.
 
 [NOTE]
 ====
-Estas etapas assumem que o software foi compilado de forma simples (out-of-the-box). Em outras palavras, não foi necessária absolutamente nenhuma mudança para o aplicativo funcionar em um sistema FreeBSD. Se alguma coisa teve que ser alterada, por favor consulte o <<slow-porting>>.
+Estas etapas assumem que o software foi compilado de forma simples (out-of-the-box). Em outras palavras, não foi necessária absolutamente nenhuma mudança para o aplicativo funcionar em um sistema FreeBSD. Se alguma coisa teve que ser alterada, por favor consulte o crossref:slow-porting[slow-porting,Port Lento].
 ====
 
 [NOTE]
@@ -177,14 +177,12 @@ Uso de `PLIST_FILES` não deve ser abusado. Ao procurar pela origem de um arquiv
 
 [TIP]
 ====
-
-Se um port precisar criar um diretório vazio, ou criar diretórios fora do [.filename]#${PREFIX}# durante a instalação, consulte <<plist-dir-cleaning>> para maiores informações.
+Se um port precisar criar um diretório vazio, ou criar diretórios fora do [.filename]#${PREFIX}# durante a instalação, consulte crossref:plist[plist-dir-cleaning,Limpando Diretórios Vazios] para maiores informações.
 ====
 
 [TIP]
 ====
-
-Como `PLIST_FILES` é uma variavel do man:make[1], qualquer entrada com espaços deve ser envolvida por aspas. Por exemplo, se estiver usando palavras-chave descritas em man:pkg-create[8] e na <<plist-keywords>>, a entrada deve ser citada.
+Como `PLIST_FILES` é uma variavel do man:make[1], qualquer entrada com espaços deve ser envolvida por aspas. Por exemplo, se estiver usando palavras-chave descritas em man:pkg-create[8] e na crossref:plist[plist-keywords,Expandindo a Lista de Pacotes com Keywords], a entrada deve ser citada.
 
 [.programlisting]
 ....
@@ -210,7 +208,7 @@ Certifique-se de que as regras do port façam exatamente o que é desejado, incl
 * O port pode ser instalado usando o target `install`. Isso verifica se o script de instalação está funcionando corretamente.
 * O port pode ser desinstalado adequadamente usando o target `deinstall`. Isso verifica se o script de desinstalação funciona corretamente.
 * O port só tem acesso aos recursos de rede durante a fase target `fetch`. Isto é importante para os construtores de pacotes, tais como o package:ports-mgmt/poudriere[].
-* Certifique-se de que o comando `make package` pode ser executado como um usuário normal (ou seja, não como `root`). Se isso falhar, talvez seja necessário corrigir o software. Veja a <<uses-fakeroot>> e também a <<uses-uidfix>>.
+* Certifique-se de que o comando `make package` pode ser executado como um usuário normal (ou seja, não como `root`). Se isso falhar, talvez seja necessário corrigir o software. Veja a crossref:uses[uses-fakeroot,`fakeroot`] e também a crossref:uses[uses-uidfix,`uidfix`].
 
 [.procedure]
 ====
@@ -226,7 +224,7 @@ Certifique-se de que as regras do port façam exatamente o que é desejado, incl
 
 Certifique-se de que nenhum aviso é exibido em nenhum dos estágios.
 
-Testes automatizados completos podem ser feitos com o package:ports-mgmt/poudriere[] da coleção do Ports, veja a <<testing-poudriere>> para maiores informações. Ele mantém `jails` onde todas as etapas mostradas acima podem ser testadas sem afetar o estado do sistema host.
+Testes automatizados completos podem ser feitos com o package:ports-mgmt/poudriere[] da coleção do Ports, veja a crossref:testing[testing-poudriere,Poudriere] para maiores informações. Ele mantém `jails` onde todas as etapas mostradas acima podem ser testadas sem afetar o estado do sistema host.
 
 [[porting-portlint]]
 == Verificando o Port com `portlint`
diff --git a/documentation/content/pt-br/books/porters-handbook/security/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/security/_index.adoc
similarity index 100%
rename from documentation/content/pt-br/books/porters-handbook/security/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/security/_index.adoc
diff --git a/documentation/content/pt-br/books/porters-handbook/slow-porting/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/slow-porting/_index.adoc
similarity index 96%
rename from documentation/content/pt-br/books/porters-handbook/slow-porting/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/slow-porting/_index.adoc
index b1d466a219..c58c9bcd1e 100644
--- a/documentation/content/pt-br/books/porters-handbook/slow-porting/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/slow-porting/_index.adoc
@@ -60,7 +60,7 @@ Mas não se preocupe, não são muitas as pessoas que entendem exatamente como o
 .. Se existir, [.filename]#scripts/configure# é executado.
 .. E se `HAS_CONFIGURE` ou `GNU_CONFIGURE` está definido, [.filename]#WRKSRC/configure# é executado.
 . O target `build` é executado. Ele é responsável por mudar para o diretório de trabalho privado do port (`WRKSRC`) e compila-lo.
-. O target `stage` é executado. Este coloca o conjunto final de arquivos construídos em um diretório temporário (`STAGEDIR`, Veja <<staging>>). A hierarquia deste diretório espelha a do sistema no qual o pacote será instalado.
+. O target `stage` é executado. Este coloca o conjunto final de arquivos construídos em um diretório temporário (`STAGEDIR`, Veja crossref:special[staging,Staging]). A hierarquia deste diretório espelha a do sistema no qual o pacote será instalado.
 . O target `package` é executado. Ele cria um pacote usando os arquivos do diretório temporário criado durante o target `stage` e o [.filename]#pkg-plist# do port.
 . O target `install` é executado. Este instala o pacote criado durante o target `package` no host.
 ====
@@ -83,7 +83,7 @@ Agora que o que acontece quando o usuário digita `make install` é melhor enten
 
 Obtenha os fontes originais (normalmente) como um tarball compactado ([.filename]#foo.tar.gz# ou [.filename]#foo.tar.bz2#) e copie-o para `DISTDIR`. Use fontes do _mainstream_ sempre que possível.
 
-Definir a variável `MASTER_SITES` para refletir onde o tarball original reside. Existem definições abreviadas para a maioria dos sites mainstream em [.filename]#bsd.sites.mk#. Por favor, use esses sites - e as definições associadas--se for possível, para ajudar a evitar o problema de ter as mesmas informações repetidas várias vezes na base de origem. Como esses sites tendem a mudar com o tempo, isso se torna um pesadelo de manutenção para todos os envolvidos. Veja <<makefile-master_sites>> para detalhes.
+Definir a variável `MASTER_SITES` para refletir onde o tarball original reside. Existem definições abreviadas para a maioria dos sites mainstream em [.filename]#bsd.sites.mk#. Por favor, use esses sites - e as definições associadas--se for possível, para ajudar a evitar o problema de ter as mesmas informações repetidas várias vezes na base de origem. Como esses sites tendem a mudar com o tempo, isso se torna um pesadelo de manutenção para todos os envolvidos. Veja crossref:makefiles[makefile-master_sites,`MASTER_SITES`] para detalhes.
 
 Se não houver nenhum site FTP/HTTP bem conectado à rede ou se puder encontrar apenas sites com formatos irritantemente não-padrão, coloque uma cópia em um servidor FTP ou HTTP confiável (por exemplo, uma home page).
 
@@ -119,8 +119,7 @@ Depois que todas as alterações forem realizadas, `cd` de volta ao diretório d
 
 [TIP]
 ====
-
-Usar `BINARY_ALIAS` para substituir comandos codificados durante a compilação e para evitar patching de arquivos de compilação. Veja <<binary-alias>> para maiores informações.
+Usar `BINARY_ALIAS` para substituir comandos codificados durante a compilação e para evitar patching de arquivos de compilação. Veja crossref:makefiles[binary-alias,Use `BINARY_ALIAS` para Renomear Comandos Em Vez de Aplicar Patch na Compilação] para maiores informações.
 ====
 
 [[slow-patch-rules]]
@@ -247,7 +246,7 @@ EXTRA_PATCHES=	${PATCHDIR}/extra-patch-fbsd10
 .Aplicando Opcionalmente um Patch
 [example]
 ====
-Quando um <<makefile-options,option>> requer um patch, use `OPT_EXTRA_PATCHES` e `OPT_EXTRA_PATCHES_OFF` para fazer o patch condicional na opção `_opt_`. Veja <<options-variables>> Para maiores informações.
+Quando um crossref:makefiles[makefile-options,option] requer um patch, use `OPT_EXTRA_PATCHES` e `OPT_EXTRA_PATCHES_OFF` para fazer o patch condicional na opção `_opt_`. Veja <<options-variables>> Para maiores informações.
 
 [.programlisting]
 ....
diff --git a/documentation/content/pt-br/books/porters-handbook/special/chapter.adoc b/documentation/content/pt-br/books/porters-handbook/special/_index.adoc
similarity index 97%
rename from documentation/content/pt-br/books/porters-handbook/special/chapter.adoc
rename to documentation/content/pt-br/books/porters-handbook/special/_index.adoc
index 8750eba096..a79e3f7b5c 100644
--- a/documentation/content/pt-br/books/porters-handbook/special/chapter.adoc
+++ b/documentation/content/pt-br/books/porters-handbook/special/_index.adoc
@@ -47,11 +47,11 @@ Esta seção explica as coisas mais comuns a se considerar ao criar um port.
 [[staging]]
 == Staging
 
-[.filename]#bsd.port.mk# espera que os ports trabalhem com um "stage directory". Isso significa que um port não deve instalar arquivos diretamente nos diretórios de destino regulares (isto é, sob o `PREFIX`, por exemplo), mas em um diretório separado a partir do qual o pacote será construído. Em muitos casos, isso não requer privilégios de root, tornando possível criar pacotes como um usuário não privilegiado. Com o staging, o port é compilado e instalado no diretório sde estágio, `STAGEDIR`. Um pacote é criado a partir do diretório de estágio e, em seguida, instalado no sistema. As ferramentas Automake referem-se a este conceito como `DESTDIR`, mas no FreeBSD, `DESTDIR` tem um significado diferente (veja <<porting-prefix>>).
+[.filename]#bsd.port.mk# espera que os ports trabalhem com um "stage directory". Isso significa que um port não deve instalar arquivos diretamente nos diretórios de destino regulares (isto é, sob o `PREFIX`, por exemplo), mas em um diretório separado a partir do qual o pacote será construído. Em muitos casos, isso não requer privilégios de root, tornando possível criar pacotes como um usuário não privilegiado. Com o staging, o port é compilado e instalado no diretório sde estágio, `STAGEDIR`. Um pacote é criado a partir do diretório de estágio e, em seguida, instalado no sistema. As ferramentas Automake referem-se a este conceito como `DESTDIR`, mas no FreeBSD, `DESTDIR` tem um significado diferente (veja crossref:testing[porting-prefix,`PREFIX` e `DESTDIR`]).
 
 [NOTE]
 ====
-Nenhum port _realmente_ precisa de root. Ele pode ser evitado principalmente usando <<uses-uidfix,`USES=uidfix`>>. Se o port ainda executa comandos como man:chown[8], man:chgrp[1] ou força o proprietário ou grupo com man:install[1] então use <<uses-fakeroot,`USES=fakeroot`>> para enganar essas chamadas. Algumas modificações no [.filename]#Makefile# do port serão necessárias.
+Nenhum port _realmente_ precisa de root. Ele pode ser evitado principalmente usando crossref:uses[uses-uidfix,`USES=uidfix`]. Se o port ainda executa comandos como man:chown[8], man:chgrp[1] ou força o proprietário ou grupo com man:install[1] então use crossref:uses[uses-fakeroot,`USES=fakeroot`] para enganar essas chamadas. Algumas modificações no [.filename]#Makefile# do port serão necessárias.
 ====
 
 Os meta ports, ou ports que não instalam arquivos por si mesmos e apenas dependem de outros ports, devem evitar extrair desnecessariamente man:mtree[8] para o diretório de estágio. Este é o layout básico do diretório do pacote, e estes diretórios vazios serão vistos como órfãos. Para prevenir extração do man:mtree[8], adicione esta linha:
@@ -281,7 +281,7 @@ Se o port usa o GNU make, adicione o `gmake` no `USES`.
 
 A variável `MAKE_CMD` pode ser usada para referenciar o comando específico configurado pelo `USES` no [.filename]#Makefile# do port. Use o `MAKE_CMD` apenas dentro dos [.filename]##Makefile##s do aplicativo no `WRKSRC` para chamar o comando `make` para a implementação esperada pelo software portado.
 
-Se o port é um aplicativo X que usa o Imake para criar o [.filename]#Makefile# do [.filename]#Imakefile#, defina `USES=imake`. Veja a seção sobre <<uses-imake,`USES=imake`>> no <<uses>> para mais detalhes.
+Se o port é um aplicativo X que usa o Imake para criar o [.filename]#Makefile# do [.filename]#Imakefile#, defina `USES=imake`. Veja a seção sobre crossref:uses[uses-imake,`USES=imake`] no crossref:uses[uses,Usando Macros `USES`] para mais detalhes.
 
 Se o [.filename]#Makefile# do port tem algo diferente de `all` como o target de compilação principal, defina a variável `ALL_TARGET` adequadamente. O mesmo vale para `install` e `INSTALL_TARGET`.
 
@@ -393,7 +393,7 @@ CMAKE_ARGS=	-DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE
 
 [IMPORTANT]
 ======
-Isto é apenas para os valores padrão desativados do `CMAKE_ARGS`. Os helpers descritos em <<options-cmake_bool>> usam a mesma semântica, mas para valores opcionais.
+Isto é apenas para os valores padrão desativados do `CMAKE_ARGS`. Os helpers descritos em crossref:makefiles[options-cmake_bool,`OPT_CMAKE_BOOL` e `OPT_CMAKE_BOOL_OFF`] usam a mesma semântica, mas para valores opcionais.
 ======
 
 ====
@@ -662,7 +662,7 @@ PULSEAUDIO_VARS=	CARGO_FEATURES+=pulseaudio_backend
 .Listando Licenças Crate
 [example]
 ====
-Os crates têm suas próprias licenças. É importante saber o que elas são ao adicionar o bloco `LICENSE` para o port (ver<<licenses>>). O target auxiliar `cargo-crates-licenses` tentará listar todas as licenças de todos os crates definidos no `CARGO_CRATES`.
+Os crates têm suas próprias licenças. É importante saber o que elas são ao adicionar o bloco `LICENSE` para o port (ver crossref:makefiles[licenses,Licenças]). O target auxiliar `cargo-crates-licenses` tentará listar todas as licenças de todos os crates definidos no `CARGO_CRATES`.
 
 [source,shell]
 ....
@@ -678,7 +678,7 @@ byteorder-1.2.2     Unlicense/MIT
 
 [NOTE]
 ======
-Os nomes das licenças geradas com `make cargo-create-licenses` são expressões de licenças do SPDX 2.1 que não correspondem aos nomes de licença definidos na estrutura de ports. Eles precisam ser traduzidos para os nomes de <<licenses-license-list>>.
+Os nomes das licenças geradas com `make cargo-create-licenses` são expressões de licenças do SPDX 2.1 que não correspondem aos nomes de licença definidos na estrutura de ports. Eles precisam ser traduzidos para os nomes de crossref:makefiles[licenses-license-list, Lista de Licenças Predefinidas].
 ======
 
 ====
@@ -719,7 +719,7 @@ MESON_ARGS=	-Dfoo=enabled
 [[using-go]]
 === Compilando Aplicações Go
 
-Para ports que usam Go, defina `USES=go`. Consulte <<uses-go>> para obter a lista de variáveis que podem ser configuradas para controlar o processo de compilação.
+Para ports que usam Go, defina `USES=go`. Consulte crossref:uses[uses-go,`go`] para obter a lista de variáveis que podem ser configuradas para controlar o processo de compilação.
 
 [[go-ex1]]
 .Criando um Port para uma Aplicação Baseada em Módulos Go
@@ -845,7 +845,7 @@ irá instalar `dnscrypt-proxy` em `${PREFIX}/sbin`.
 [[using-cabal]]
 === Compilando Aplicações Haskell com `cabal`
 
-Para ports que usam Cabal, defina o sistema de compilação `USES=cabal`. Consulte <<uses-cabal>> para obter a lista de variáveis que podem ser configuradas para controlar o processo de compilação.
+Para ports que usam Cabal, defina o sistema de compilação `USES=cabal`. Consulte crossref:uses[uses-cabal,`cabal`] para obter a lista de variáveis que podem ser configuradas para controlar o processo de compilação.
 
 [[cabal-ex1]]
 .Criando um Port para uma Aplicação Hackage-hosted Haskell
@@ -943,7 +943,7 @@ Se você não estiver testando seu port em um ambiente limpo, como com o Poudrie
 [[using-autotools]]
 == Usando o GNU Autotools
 
-Se um port precisar de algum software GNU Autotools, adicione `USES=autoreconf`. Veja <<uses-autoreconf>> Para maiores informações.
+Se um port precisar de algum software GNU Autotools, adicione `USES=autoreconf`. Veja crossref:uses[uses-autoreconf,`autoreconf`] Para maiores informações.
 
 [[using-gettext]]
 == Usando o GNU `gettext`
@@ -951,7 +951,7 @@ Se um port precisar de algum software GNU Autotools, adicione `USES=autoreconf`.
 [[using-gettext-basic]]
 === Uso Básico
 
-Se o port requer o `gettext`, defina `USES=gettext`, e o port herdará a dependência [.filename]#libintl.so# do package:devel/gettext[]. Outros valores para uso do `gettext` estão listados em <<uses-gettext,`USES=gettext`>>.
+Se o port requer o `gettext`, defina `USES=gettext`, e o port herdará a dependência [.filename]#libintl.so# do package:devel/gettext[]. Outros valores para uso do `gettext` estão listados em crossref:uses[uses-gettext,`USES=gettext`].
 
 Um caso bastante comum é um port que utilize o `gettext` e o `configure`. Geralmente, o GNU `configure` deve ser capaz de localizar o `gettext` automaticamente.
 
@@ -1170,9 +1170,9 @@ USE_PERL5=	modbuildtiny
 [[x11-variables]]
 === Componentes X.Org
 
-A implementação do X11 disponível na Coleção de Ports é o X.Org. Se o aplicativo depender de componentes X, adicione `USES= xorg` e defina `USE_XORG` na lista de componentes necessários. Uma lista completa pode ser encontrada em <<uses-xorg>>.
+A implementação do X11 disponível na Coleção de Ports é o X.Org. Se o aplicativo depender de componentes X, adicione `USES= xorg` e defina `USE_XORG` na lista de componentes necessários. Uma lista completa pode ser encontrada em crossref:uses[uses-xorg,`xorg`].
 
-O Projeto Mesa é um esforço para fornecer implementação gratuita do OpenGL. Para especificar uma dependência em vários componentes deste projeto, use a variável `USE_GL`. Veja <<uses-gl>> para a lista completa dos componentes disponíveis. Para compatibilidade com versões anteriores, o valor `yes` direciona para `glu`.
+O Projeto Mesa é um esforço para fornecer implementação gratuita do OpenGL. Para especificar uma dependência em vários componentes deste projeto, use a variável `USE_GL`. Veja crossref:uses[uses-gl,`gl`] para a lista completa dos componentes disponíveis. Para compatibilidade com versões anteriores, o valor `yes` direciona para `glu`.
 
 [[use-xorg-example]]
 .Exemplo `USE_XORG`
@@ -1749,7 +1749,7 @@ Para mais ajuda com um port GNOME, veja alguns dos https://www.FreeBSD.org/ports
 
 [NOTE]
 ====
-Para ports que fazem parte do Qt, veja <<uses-qt-dist>>.
+Para ports que fazem parte do Qt, veja crossref:uses[uses-qt-dist,`qt-dist`].
 ====
 
 [[qt-common]]
@@ -2895,7 +2895,7 @@ Além disso, essas constantes são definidas para que todos os ports Java possam
 |O diretório onde os arquivos JAR instalados por outros ports estão localizados. Padrão: [.filename]#${LOCALBASE}/shared/java/classes#.
 |===
 
-As entradas relacionadas são definidas em ambos `PLIST_SUB` (documentado em <<plist-sub>>) e `SUB_LIST`.
+As entradas relacionadas são definidas em ambos `PLIST_SUB` (documentado em crossref:plist[plist-sub,Alterando o pkg-plist Baseado em Variáveis Make]) e `SUB_LIST`.
 
 [[java-building-with-ant]]
 === Compilando com Ant
@@ -2933,7 +2933,7 @@ do-install:
 
 Independentemente do tipo de port (biblioteca ou aplicativo), a documentação adicional é instalada na <<install-documentation,mesma localização>> como para qualquer outro port. A ferramenta Javadoc é conhecida por produzir um conjunto diferente de arquivos, dependendo da versão do JDK utilizado. Para ports que não impõem o uso de um determinado JDK, é uma tarefa complexa especificar a lista de empacotamento ([.filename]#pkg-plist#). Esta é uma razão pela qual os mantenedores de ports são fortemente encorajados a usar `PORTDOCS`. Além disso, mesmo se o conjunto de arquivos que serão gerados pelo `javadoc` puder ser previsto, o tamanho do [.filename]#pkg-plist# resultante irá encorajar o uso do `PORTDOCS`.
 
-O valor padrão para `DATADIR` é [.filename]#${PREFIX}/shared/${PORTNAME}#. É uma boa ideia sobreescrever `DATADIR` para [.filename]#${JAVASHAREDIR}/${PORTNAME}# para ports Java. De fato, `DATADIR` é automaticamente adicionado a `PLIST_SUB` (documentado em<<plist-sub>>) então use `%%DATADIR%%` diretamente em [.filename]#pkg-plist#.
+O valor padrão para `DATADIR` é [.filename]#${PREFIX}/shared/${PORTNAME}#. É uma boa ideia sobreescrever `DATADIR` para [.filename]#${JAVASHAREDIR}/${PORTNAME}# para ports Java. De fato, `DATADIR` é automaticamente adicionado a `PLIST_SUB` (documentado em crossref:plist[plist-sub, Alterando o pkg-plist Baseado em Variáveis Make]) então use `%%DATADIR%%` diretamente em [.filename]#pkg-plist#.
 
 Quanto à escolha de compilar ports Java a partir do código fonte ou instalar diretamente a partir de uma distribuição binária, não há política definida no momento da escrita deste livro. No entanto, os membros do https://www.freebsd.org/java/[Projeto Java do FreeBSD] encorajam os mantenedores de ports a terem seus ports compilados a partir do código fonte sempre que for possível.
 
@@ -2941,7 +2941,7 @@ Todos os recursos que foram apresentados nesta seção são implementados em [.f
 
 Embora haja uma categoria `Java` para PRs, isso refere-se ao esforço de portabilidade do JDK do projeto Java do FreeBSD. Portanto, envie o port Java na categoria `ports` como para qualquer outro port, a menos que o problema esteja relacionado a uma implementação do JDK ou ao [.filename]#bsd.java.mk#.
 
-Da mesma forma, existe uma política definida sobre as `CATEGORIAS` de um port Java, que é detalhada em <<makefile-categories>>.
+Da mesma forma, existe uma política definida sobre as `CATEGORIAS` de um port Java, que é detalhada em crossref:makefiles[makefile-categories,Categorização].
 
 [[using-php]]
 == Aplicações Web, Apache e PHP
@@ -3018,7 +3018,7 @@ Não insira o Apache como dependência, a menos que o aplicativo web precise exp
 [[php-variables]]
 === PHP
 
-Aplicações PHP declaram sua dependência a ele com `USES=php`. Veja <<uses-php>> para maiores informações.
+Aplicações PHP declaram sua dependência a ele com `USES=php`. Veja crossref:uses[uses-php,`php`] para maiores informações.
 
 [[php-pear]]
 === Módulos PEAR
@@ -3137,7 +3137,7 @@ PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 |O port usará um prefixo exclusivo, normalmente `PYTHON_PKGNAMEPREFIX` para determinados diretórios, como `EXAMPLESDIR` e `DOCSDIR` e também irá acrescentar um sufixo, a versão python de `PYTHON_VER`, para os binários e scripts que serão instalados. Isso permite que os ports sejam instalados para diferentes versões do Python ao mesmo tempo, o que de outra forma instalaria arquivos conflitantes.
 
 |`USE_PYTHON=flavors`
-|O port não usa distutils, mas ainda suporta várias versões do Python. .`FLAVORS` será definido para as versões suportadas do Python. Veja <<flavors-auto-python>> para maiores informações.
+|O port não usa distutils, mas ainda suporta várias versões do Python. .`FLAVORS` será definido para as versões suportadas do Python. Veja crossref:flavors[flavors-auto-python,`USES`=python e Flavors] para maiores informações.
 
 |`USE_PYTHON=optsuffix`
 |Se a versão atual do Python não for a versão padrão, o port receberá `PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. É útil apenas com flavors.
@@ -3259,7 +3259,7 @@ A Coleção de Ports suporta a instalação paralela de múltiplas versões do T
 |caminho dos arquivos de cabeçalho C do Tk
 |===
 
-Veja o <<uses-tcl,`USES=tcl`>> e <<uses-tk,`USES=tk`>> do <<uses>> para uma descrição completa dessas variáveis. Uma lista completa dessas variáveis ​​está disponível em [.filename]#/usr/ports/Mk/Uses/tcl.mk#.
+Veja o <<uses-tcl,`USES=tcl`>> e <<uses-tk,`USES=tk`>> do crossref:uses[uses,Usando Macros `USES`] para uma descrição completa dessas variáveis. Uma lista completa dessas variáveis ​​está disponível em [.filename]#/usr/ports/Mk/Uses/tcl.mk#.
 
 [[using-ruby]]
 == Usando Ruby
@@ -4063,16 +4063,16 @@ Utilize uma das macros `USES` de <<using-databases-uses>> para adicionar a depen
 | Macro USES
 
 |Berkeley DB
-|<<uses-bdb,`bdb`>>
+|crossref:uses[uses-bdb,`bdb`]
 
 |MariaDB, MySQL, Percona
-|<<uses-mysql,`mysql`>>
+|crossref:uses[uses-mysql,`mysql`]
 
 |PostgreSQL
-|<<uses-pgsql,`pgsql`>>
+|crossref:uses[uses-pgsql,`pgsql`]
 
 |SQLite
-|<<uses-sqlite,`sqlite`>>
+|crossref:uses[uses-sqlite,`sqlite`]
 |===
 
 [[using-databases-bdb-ex1]]
@@ -4084,7 +4084,7 @@ Utilize uma das macros `USES` de <<using-databases-uses>> para adicionar a depen
 USES=	bdb:6
 ....
 
-Veja <<uses-bdb>> para maiores informações.
+Veja crossref:uses[uses-bdb,`bdb`] para maiores informações.
 ====
 
 [[using-databases-mysql-ex1]]
@@ -4098,7 +4098,7 @@ Quando um port precisa da biblioteca cliente do MySQL, adicione
 USES=	mysql
 ....
 
-Veja <<uses-mysql>> para mais informações.
+Veja crossref:uses[uses-mysql,`mysql`] para mais informações.
*** 297 LINES SKIPPED ***
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.