Debian logo [inetdoc.LINUX]

6. Ajout d'un nouveau document

Pour ajouter un nouveau document, il faut créer un répertoire dans lequel on place le fichier source et un Makefile pour automatiser les traitements.

6.1. Contenu d'un Makefile

Voici un patron de Makefile et quelques indications sur ses variables et fonctions :

# Support TP routage Inter-VLAN
# $Id: Makefile 1191 2007-10-31 10:01:20Z latu $
# - philippe.latu(at)linux-france.org

# Répertoire racine
ifndef $(MAIN_DIR)
MAIN_DIR = prj/inetdoc
endif

# Répertoire courant
ifndef $(DIR)
DIR = $(MAIN_DIR)/cours/routage.inter-vlan
endif

ifndef $(DEPTH)
DEPTH = $(shell echo $(DIR) | sed 's/[-._a-zA-Z0-9]*/\.\./g')
endif

# Liste des répertoires à traiter à partir de ce niveau
SUBDIRS = \
	images

# Type(s) de traitement
PROCESS_TYPE = dirs subdirs symlink _xml2xhtml _xml2print

XML_FILES = \
	routage.inter-vlan.xml \
	$(wildcard files/*.txt)

SYMLINKS = \
	$(DEPTH)/common/inetdoc.urls.xml \
	$(DEPTH)/common/author.xml \
	$(DEPTH)/common/legal.xml

all: $(PROCESS_TYPE)

include $(DEPTH)/common/Makefile.Rules

DIR

Nom du répertoire de travail courant dans lequel on place le(s) fichier(s) source(s) à traiter.

DEPTH

Profondeur du répertoire de travail relativement à la racine de l'arborescence de travail.

SUBDIRS

Liste des sous-répertoires à traiter. Dans le cas du projet inetdoc.linux, un document DocBook de type «bibliographie» pointe vers plusieurs autres documents. Chacun de ces documents est placé dans un sous-répertoire différent.

PROCESS_TYPE

Liste des traitements à effectuer dans le répertoire de travail. Les différents types de traitements sont détaillés dans Section 6.2, « Types de traitements ».

XML_FILES

Dans le cas d'un document DocBook ; liste des fichiers source. Dès qu'un document de cette liste est modifié, il faut reprendre le traitement

SYMLINKS

Liste des liens symboliques à créer. Un document peut reprendre des éléments contenus dans d'autres répertoires. Les liens symboliques sont alors beaucoup plus utiles que les copies.

all: dirs subdirs $(PROCESS_TYPE) snapshot_instructions snapshot_build

Somme des traitements à effectuer :

  • dirs : création des répertoires contenus dans la liste DIR.

  • subdirs : création des sous-répertoires contenus dans la liste SUBDIRS.

  • $(PROCESS_TYPE) : traitements spécifiques au(x) document(s) donnés dans la liste PROCESS_TYPE.

  • autres traitements : dans le cas du répertoire sources, il s'agit de générer le fichier de distribution des sources du projet.

6.2. Types de traitements

L'ensemble des traitements existants sont définis dans le fichiers de règles : Makefile.Rules. C'est ce fichier qu'il faut consulter pour connaître de détail des opérations effectuées.

dirs

Création des répertoires dans l'arborescence cible à partir de la racine définie par HTML_WRK.

subdirs

Liste des sous-répertoires dans lesquels d'autres documents sont à traiter.

clean

Nettoyage de tous les fichiers intermédiaires générés lors des traitements. La liste des fichiers à effacer est extraite des propriétés svn:ignore des répertoires du dépôt Subversion (SVN).

symlink

Création des liens symboliques dans le répertoire de travail.

file

Copie simple de fichiers dans l'arborescence cible.

html

Passage à la lessiveuse tidy et copie du résultat dans l'arborescence cible.

ld2www

Génération des pages web à partir d'une source LinuxDoc sans oublier le passage par la lessiveuse.

ld2print

Génération des formats imprimables Postscript et PDF à partir d'une source LinuxDoc.

_xml2xhtml

Génération des pages web à partir d'une source DocBook sans oublier le passage par la lessiveuse.

_xml2print

Génération des formats imprimables Postscript et PDF à partir d'une source DocBook.

mgp

Génération des pages Web et des formats imprimables Postscript et PDF à partir d'une source MagicPoint.