J'ai un tas de fichiers texte dans le répertoire help_pages/
, tous formatés dans reST. Je suis en train d'ajouter à mon GNU make Makefile
quelques règles:Utiliser make pour traduire les fichiers reST
- Exécutez chaque fichier dans le répertoire
help_pages
(et sous-répertoires) avec l'extension « .rst » à travers une application qui recrache une fichier html valide (en ce moment je n'utilise querst2html
). - Copiez ces fichiers html de sortie dans un répertoire cible, en reproduisant la structure de répertoires qui existait dans le répertoire
help_pages
.
Ainsi, par exemple, help_pages/some/dir/foo.rst
faudrait d'abord faire traduire à help_pages/some/dir/foo.html
, puis copiés sur public/help/some/dir/foo.html
.
J'ai passé toute la journée à essayer d'apprendre les intrications de Makefiles, mais à la fin j'ai abandonné. Voici ce que je l'ai déjà:
# Directory that the .rst files reside in:
HELP_DIR=help_pages
# use 'find' to locate all such files:
HELP_SRCS=$(shell find $(HELP_DIR) -name "*.rst")
# work out what path the intermediate files would be
HELP_TARGETS=$(HELP_SRCS:.rst=.html)
# do the translation.
$(HELP_TARGETS): %.html: %.rst
rst2html $< [email protected]
help: $(HELP_TARGETS)
.phony:
help
Ce genre d'œuvres-- les fichiers .rst se traduit .html fichiers, mais je ne sais pas comment les installer dans la finale, le répertoire cible. Si j'ajoute une commande cp
à la recette de construction principale, les fichiers ne sont pas réinstallés s'ils n'existent pas dans le répertoire cible.
Idéalement, je voudrais qu'une cible fasse les fichiers d'aide, et un pour les installer, et un troisième (appelé «aide») qui dépend de ces deux. Je pense que cela me donnera la plus grande flexibilité.
Quelqu'un peut-il me donner quelques conseils sur la façon d'y parvenir?
Cheers,