7.2. A dokumentációt tároló könyvtárban található Makefile állományok

A FreeBSD Dokumentációs Projekt által használt könyvtárakban megtalálható Makefile állományoknak három típusa létezik:

7.2.1. Az alkönyvtári Makefile állományok

Ezek a típusú Makefile állományok általában a következő alakúak:

SUBDIR =articles
SUBDIR+=books

COMPAT_SYMLINK = en

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

Röviden összefoglalva: az első négy nem üres sorban ún. make változókat definiálunk. Ezek rendre a SUBDIR, COMPAT_SYMLINK és DOC_PREFIX.

Az első SUBDIR sornál, illetve a COMPAT_SYMLINK sorában láthatjuk hogyan kell egy új értéket beállítani egy ilyen változónak.

A második SUBDIR sorban azt láthatjuk, hogyan tudunk a változó aktuális értékéhez továbbiakat hozzáfűzni. Ebben az esetben tehát az utasítás végrehajtása után a SUBDIR értéke articles books lesz.

A DOC_PREFIX esetében pedig olyan értékadást figyelhetünk meg, amelyik csak akkor hajtódik végre ténylegesen, ha a változónak addig még nem volt értéke. Ez olyankor tud kapóra jönni, amikor a DOC_PREFIX nem pontosan az, amire a Makefile számít -- a felhasználó ekkor meg tudja adni a helyes értéket.

Ez így együttesen tehát mit is jelent? A SUBDIR összefoglalja azokat a könyvtárakat, amelyekben a dokumentumok előállításának folyamatának folytatódnia kell majd.

A COMPAT_SYMLINK a kompatibilitás céljából létrehozott szimbolikus linkekre vonatkozik, amelyek (valamilyen csoda folytán) az adott nyelv hivatalos kódolására mutatnak (tehát például a doc/en a en_US.ISO8859-1 könyvtárra).

A DOC_PREFIX a FreeBSD Dokumentációs Projekt főkönyvtárához vezető utat adja meg. Ezt nem mindig egyszerű megtalálni, ezért a rugalmasság kedvéért könnyedén felül is definiálható. A .CURDIR a make egyik saját belső változója, amelyben az aktuális könyvtár elérési útját tárolja.

Végül az utolsó sorban a FreeBSD Dokumentációs Projekt összes Makefile állományára vonatkozó, rendszerszintű doc.project.mk állományra hivatkozunk, amelyen keresztül az iménti változókból épül fel a dokumentumok előállításának pontos menete.

7.2.2. A dokumentumokra vonatkozó Makefile állományok

Ezekben a Makefile állományokban az adott könyvtárban található dokumentumok előállítását leíró különböző make változók szerepelnek.

Lássunk erre egy példát:

MAINTAINER=pgj@FreeBSD.org

DOC?= book

FORMATS?= html-split html

INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=

# Az SGML forrás
SRCS=  book.sgml

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

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

A MAINTAINER változó nagyon fontos. A FreeBSD Dokumentációs Projekten belül ezen a változón keresztül jelezhetjük a dokumentum birtoklását, vagyis karbantartási kötelezettségünket.

A DOC hivatkozik (az .sgml kiterjesztés nélkül) az adott könyvtárban található dokumentum fő forrására. Emellett az SRCS változóban kell összefoglalnunk a dokumentumot alkotó források neveit. Ebben érdemes megadni minden olyan állományt, amelynek megváltozása esetén újra elő kell állítani az érintett dokumentumot.

A FORMATS segítségével definiáljuk a dokumentum alapértelmezetten előállítandó formátumait. A INSTALL_COMPRESSED változóban a dokumentum elkészítésekor felhasználandó tömörítési formákat adhatjuk meg. A INSTALL_ONLY_COMPRESSED változó alapból üres, de ha adunk neki valamilyen egyéb értéket, akkor a dokumentumoknak csak a tömörített változata fog elkészülni.

Megjegyzés: A változók feltételes értékadásáról már volt szó az előző szakaszban.

A DOC_PREFIX változó és az .include utasítás a korábbiak alapján már ismerős lehet.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.