A FreeBSD Dokumentációs Projekt irányelvei kezdőknek | ||
---|---|---|
Előző | Fejezet 7. A dokumentáció előállításának folyamata | Következő |
A FreeBSD Dokumentációs Projekt által használt könyvtárakban megtalálható Makefile állományoknak három típusa létezik:
Az alkönyvtári Makefile állományok egyszerűen csak továbbadják a parancsokat az alkönyvtáraiknak.
A dokumentumokra vonatkozó Makefile állományok írják le, hogy milyen dokumentumokat kellene az adott könyvtárban előállítani.
Az .mk állományok segítik valamilyen formában a dokumentumok előállítását. Többnyire doc.xxx.mk névvel láthatóak.
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.
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.
Előző | Tartalom | Következő |
A dokumentáció előállításának folyamata | Fel | A FreeBSD Dokumentációs Projekt .mk állományai |
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>.