7.2. Entendendo Makefiles na árvore da documentação

Há três tipos principais de Makefiles na árvore do projeto de documentção do FreeBSD.

7.2.1. Subdiretório Makefiles

Estes Makefiles geralmente tem a forma:

SUBDIR =articles
SUBDIR+=books

COMPAT_SYMLINK = en

DOC_PREFIX?= ${.CURDIR}/..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

Em um sumário rápido, as primeiras quatro linhas definem as variáveis do make, SUBDIR, COMPAT_SYMLINK, e DOC_PREFIX.

A primeira indicação ao SUBDIR statement, tanto quanto a indicaçãoCOMPAT_SYMLINK, mostra como atribuir um valor a uma variável, cancelando algum valor precendente.

A segunda indicação SUBDIR mostra como um valor é adicionado ao valor atual de uma variável. A variável SUBDIR é agora articles books.

A indicação DOC_PREFIX mostra como um valor é atribuído para variável, mas somente se já não estiver definida. Isto é útil se o DOC_PREFIX não for onde este Makefile pensa que é - o usuário pode cancelar este e fornecer o valor correto.

Agora o que tudo isso significa? SUBDIR menciona que todos subdiretórios abaixo deste, devem passar qualquer trabalho de processo de construção nele.

COMPAT_SYMLINK é específico a compatibilidade dos links simbólicos (bastante surpreendente) para linguagens oficiais(doc/en apontaria para en_US.ISO-8859-1).

DOC_PREFIX é o caminho para a raíz da árvore do projeto de documentação do FreeBSD. Isto nem sempre é facil This is not always that easy to de encontrar, e também pode ser facilmente cancelado, para permitir flexibilidade. .CURDIR é uma variável embutida do make com o caminho para o diretório atual.

A linha final inclue o projeto de documentação do FreeBSD e o make faz o arquivo do sistema doc.project.mk converter estas variáveis em instruções de construção.

7.2.2. Documentação dos Makefiles

Estes Makefiles ajustam várias variáveis do make que descrevem como construir a documentação contida naquele diretório.

Aqui esta um exemplo:

MAINTAINER=nik@FreeBSD.org

DOC?= book

FORMATS?= html-split html

INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=

# SGML content
SRCS=  book.sgml

DOC_PREFIX?= ${.CURDIR}/../../..

.include "$(DOC_PREFIX)/share/mk/docproj.docbook.mk"

A variável MAINTAINER é uma das mais importantes. Esta variável fornece a habilidade de reivindicar a posse sobre um documento no projeto de documentação do FreeBSD, por meio que você recebe a responsabilidade de manté-lo.

DOC é o nome (sans é a extensão do .sgml) do principal documento criado por este diretório. SRCS lista todos os arquivo individuais que constituem o documento. Isto deve também incluir arquivos importantes em que uma mudança deve resultar em uma reconstrução.

FORMATS indica o formato padrão que deve ser criado este documento. INSTALL_COMPRESSED é a lista padrão de técnicas de compressão que devem ser usados na criação do documento. INSTALL_ONLY_COMPRESS, em branco por padrão, nao deve estar em branco se somente documentos compactados forem desejados na criação.

Nota: Nós cobrimos atribuições de variáveis na seção anterior.

As indicações DOC_PREFIX e include já devem estar familiarizadas.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.