7.2 Употреба на Makefile-ове в дървото на Документацията

Има три главни типа Makefile-ове в дървото от документи.

7.2.1 Makefile-ове в поддиректориите

Тези Makefile-ове обикновенно съдържат следното:

SUBDIR =articles
SUBDIR+=books

COMPAT_SYMLINK = en

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

На кратко, първите четири непразни реда дефинират следните make променливи SUBDIR, COMPAT_SYMLINK, and DOC_PREFIX.

Първото SUBDIR твърдение, а както и COMPAT_SYMLINK, показват как да се даде стойност на променлива, покривайки предишната й стойност.

Вторият SUBDIR показва как да се добави стойност към текущата й стойност. Стойността на SUBDIR вече е articles books.

DOC_PREFIX показва как се задава стойност на променлива, но само ако не е вече дефинирана. Това е полезно ако DOC_PREFIX не е там където този Makefile смята, че е - потребителят може да покрие тази стойност с коректната.

Какво означава всичко това? SUBDIR описва през кои поддиректории на текущата, процеса на компилиране трябва да премине.

COMPAT_SYMLINK е специфична променлива на препратки за съвместимостта с различните езици към тяхното официално кодиране (doc/en ще сочи към en_US.ISO-8859-1).

DOC_PREFIX е пътят до корена на Проекта за FreeBSD документация. Обикновенно не е толкова лесно да се открие а и лесно може да бъде покрит за повече гъвкавост. .CURDIR е make вградена променлива с пътят до текущата директория.

Последния ред включва общия за целия проект по документация make системен файл. doc.project.mk което е това което преобразува тези променливи в инструкции за изграждането.

7.2.2 Makefile-ове на документацията

Тези Makefile-ове установяват цял куп make променливи описващи как да се компилират документите съдържащи се в тази директория.

Ето пример:

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"

Променливата MAINTAINER е много важна. Тази променлива предоставя възможността да се притежава документ в FDP когато поемете отговорността за поддържането му.

DOC е името (без .sgml разширението) на главния документ създаден от тази директория. SRCS описва отделните файлове образуващи документа. Това включва важни файлове в който трябва да се извършат промени при компилиране.

FORMATS задава форматът по подразбиране в който трябва да бъде генериран документа. INSTALL_COMPRESSED е списък с техники за компресиране които трябва да бъдат използвани в компилирането. INSTALL_ONLY_COMPRESS, празна променлива (по подразбиране) трябва да има стойност ако само компресирани документи се генерират.

Note: Описахме опционалното задаване на стойности на променливи в предишната секция.

С DOC_PREFIX и include вече би трябвало да сте запознати.

Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

За въпроси отностно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси отностно този документ, e-mail <doc@FreeBSD.org>.