[AJ] Affichage de l'avancement dans le makefile et réecritures diverses

master
Olivier DOSSMANN 2011-03-04 19:08:15 +01:00
parent 2809342f36
commit 7926813d95
2 changed files with 35 additions and 16 deletions

View File

@ -19,7 +19,7 @@ TITRE = Titre par défaut
ACCUEIL = Accueil - $(TITRE)
DOSSIER_HTML = composants
## divers
#MENU = $(DOSSIER_HTML)/menu.html
MENU = $(DOSSIER_HTML)/menu.html
## utiles pour le makefile
ifndef $(MENU)
dependances_css = style/$(CSS_DEFAUT)
@ -29,7 +29,12 @@ endif
entete = $(DOSSIER_HTML)/entete.html
enqueue = $(DOSSIER_HTML)/enqueue.html
dependances_index = $(entete) $(enqueue)
# programmes
PROG_ECHO = `which echo`
PROG_TEST = `which test`
PROG_SED = `which sed`
PROG_PATCH = `which patch`
PROG_CAT = `which cat`
## DEBUT
# création de tous les fichiers
@ -39,36 +44,50 @@ all: test index.html
# création si besoin
test:
@$(PROG_ECHO) -e "Lancement des tests…"
@$(PROG_ECHO) -e "\t…existence des dossiers img, categ et style"
@test -d img || mkdir img
@test -d categ || mkdir categ
@test -d style || mkdir style
@$(PROG_ECHO) -e "\t…existence de la feuille de style par défaut : '$(CSS_DEFAUT)'"
@test -f style/$(CSS_DEFAUT) || exit
$(if $(MENU), @test -f $(MENU) || exit, @$(PROG_ECHO) -e "\tPas de menu")
$(if $(MENU), @test -f style/$(CSS_DEFAUT) || exit)
@$(PROG_ECHO) -e "\t…vérification du choix de l'utilisateur sur l'ajout d'un menu ou non"
$(if $(MENU), @test -f $(MENU) || exit, @$(PROG_ECHO) -e "\t\t-> option menu : désactivée")
$(if $(MENU), @test -f style/$(CSS_DEFAUT); $(PROG_ECHO) -e "\t\t-> option menu : activée" || exit)
@test -d $(DESTINATION) || mkdir $(DESTINATION)
@test -d $(DESTINATION)/image || mkdir $(DESTINATION)/image
@$(PROG_ECHO) -e "\t…terminé."
@$(PROG_ECHO) -e " …terminé."
# création du fichier CSS
css: $(dependances_css)
@$(PROG_ECHO) -e "Création du fichier CSS…"
@cp style/$(CSS_DEFAUT) $(DESTINATION)/$(CSS_NOM)
$(if $(MENU), @patch -u -p0 $(DESTINATION)/$(CSS_NOM) style/$(CSS_PATCH_AJOUT_MENU))
@$(PROG_ECHO) -e "\t…terminée."
$(if $(MENU), @patch -u -p0 $(DESTINATION)/$(CSS_NOM) style/$(CSS_PATCH_AJOUT_MENU); $(PROG_ECHO) -e "\t…patch pour affichage du menu")
@$(PROG_ECHO) -e " …terminée."
# création de la page d'index
index.html: $(DOSSIER_HTML) css $(dependances_index)
@$(PROG_ECHO) -e "Création de la page de garde…"
$(if $(MENU), @cat $(entete) $(MENU) $(enqueue) > $(INDEX), @cat $(entete) $(enqueue) > $(INDEX))
@$(PROG_ECHO) -e "\t…terminée."
@$(PROG_ECHO) -e "Modification du contenu…"
@sed -i "s/TITRE_PORTEAIL/$(TITRE)/g" $(INDEX)
@sed -i "s/ACCUEIL_PORTEAIL/$(ACCUEIL)/g" $(INDEX)
@sed -i "s#CSS_DEFAUT#./$(CSS_NOM)#g" $(INDEX)
@$(PROG_ECHO) -e "\t…terminée."
# entete
@$(PROG_ECHO) -e "\t…insertion de l'entête"
@cat $(entete) > $(INDEX)
# modification du contenu
@$(PROG_ECHO) -e "\t…modification du contenu"
@sed -i -e "s/TITRE_PORTEAIL/$(TITRE)/g" -e "s/ACCUEIL_PORTEAIL/$(ACCUEIL)/g" -e "s#CSS_DEFAUT#./$(CSS_NOM)#g" $(INDEX)
@$(PROG_ECHO) -e "\t …contenu modifié avec succès !"
# introduction (SI la variable INTRO est remplie)
# TODO: insérer ici possibilité de mettre une INTRODUCTION à la page du site
# contenu
# TODO: insérer ici le contenu
# @$(PROG_ECHO) -e "\t…insertion du contenu"
# menu
$(if $(MENU), @cat $(MENU) >> $(INDEX); $(PROG_ECHO) -e "\t…insertion du menu" || exit)
# enqueue
@$(PROG_ECHO) -e "\t…insertion de l'enqueue"
@cat $(enqueue) >> $(INDEX)
@$(PROG_ECHO) -e " …terminée."
# nettoyage des fichiers générés
clean:
@$(PROG_ECHO) -e "Nettoyage des fichiers en cours…"
@rm -rf $(DESTINATION)
@$(PROG_ECHO) -e "\t…terminé."
@$(PROG_ECHO) -e " …terminé."

4
TACHES
View File

@ -11,8 +11,6 @@
- les dossiers résultants
- les variables à changer pour personnaliser
- ajouter un paragraphe LICENCE pour expliquer la licence appliquée
- ajouter des ECHO avant chaque ligne pour définir où ça plante quand c'est
le cas
- ajouter les éléments de chaque catégorie dans la page html
- changer les variables contenues dans les fichiers HTML par @@NOM_VARIABLE@@
(car plus pratique)
@ -57,3 +55,5 @@ Par exemple : ### Ma super catégorie ###
titre_element##URL##Description##adresse_image##titre_image##description_image
- test de l'existence du dossier CATEG dans le script parcours_categ.sh
- BUG : On ne peut pas avoir plusieurs catégories => changer script creation_categ.sh pour ne PAS détruire le fichier categories.html (le makefile doit le faire)
- ajouter des ECHO avant chaque ligne pour définir où ça plante quand c'est
le cas