git.ntnlv.ca
Repositories
Help
Report an Issue
processeur-decriture.git
Code
Commits
Branches
Tags
Search
Tree:
55a951b
Branches
Tags
dev
main
processeur-decriture.git
makefile
ajout liste de fichiers à exclure
David Valentine
commited
55a951b
at 2026-01-24 22:41:21
makefile
Blame
History
Raw
# Makefile # Espace de recherche # @todo faire des cibles print et screen (par exemple) au lieu de all pour choisir # make [screen|print] PROJET=name ############################################################# # Aide ############################################################# # make # Recette par défaut, si aucune n’est mentionnée .DEFAULT_GOAL := aide # make aide # # Aide-mémoire .PHONY: aide aide: @cat aide.txt | ccze -A ############################################################# # 1. argument obligatoire en ligne de commande ############################################################# # Passer le nom du projet à traiter : avec la variable PROJET. # exemple : $ make PROJET=proposition # remarques : variable à spécifier pour toutes les recettes # qui l'utilisent. # le nom du projet doit correspondre avec le nom # d’un dossier dans ./src/ ############################################################# # variables ############################################################# SHELL := /bin/bash # Timestamp # -05:00 date := $(shell date +%Y-%m-%dT%H:%M:%S-05:00) # -04:00 #date := $(shell date +%Y-%m-%dT%H:%M:%S-04:00) #hash := $(shell cat .git/refs/heads/main) # Name name = $(PROJET) # Variables pour les sources config_screen = ./src/config-screen.yml config_print = ./src/config-print.yml src_dir = ./src/$(name) src_files = $(shell ls $(src_dir)/*.md | grep -v -f exclure.txt) # Variables pour les extrants zip = ./archives/$(name).zip dist = ./dist/$(name) print = ./dist/$(name)/$(name).html ############################################################# # receipes ############################################################# # $(zip) est une dépendance de $(print) # c'est pourquoi $(zip) s'exécute avec build, avant $(print) .PHONY: build build: projet $(print) ############################################### # Validation # # Vérifier que le projet est indiqué explicitement # projet: $(src_dir)/* ifndef PROJET @echo "ERREUR : aucun projet sélectionné. Bye." @exit 1 endif ############################################### # Chunked # # Créer la version HTML pour l'écran # $(zip): $(src_dir)/* $(config_screen) pandoc $(src_files) \ --defaults $(config_screen) \ --metadata-file ./src/global-metadata.yml \ --metadata-file $(<D)/abstract.yml \ --metadata-file $(<D)/metadata.yml \ --metadata-file $(<D)/theme.yml \ --metadata=date:$(date) \ --toc \ --log $(<D)/log.json \ --output $@ unzip -o -O UTF-8 $@ -d $(dist) ############################################### # Print # # Créer la version HTML pour l'impression # $(print): $(zip) $(config_print) pandoc $(src_files) \ --defaults $(config_print) \ --metadata-file ./src/global-metadata.yml \ --metadata-file $(src_dir)/abstract.yml \ --metadata-file $(src_dir)/metadata.yml \ --metadata=date:$(date) \ --toc \ --output $@ ############################################################# # utilitaires ############################################################# .PHONY: antidote antidote: /usr/local/bin/Antidote9 $(CORRIGER) .PHONY: wordcount wordcount: pandoc $(src) \ --lua-filter ./scripts/wordcount.lua .PHONY: serve serve: http-server ./dist/ -c-1