[AJ] Which dans l'ensemble du GNUmakefile

master
Olivier DOSSMANN 2011-11-29 12:47:39 +01:00
parent b49ca9d67e
commit 1e2b79b381
2 changed files with 17 additions and 16 deletions

View File

@ -57,6 +57,7 @@ PROG_PATCH = `which patch`
PROG_CAT = `which cat`
PROG_CP = `which cp`
PROG_BASH = `which bash`
PROG_RM = `which rm`
## DEBUT
# création de tous les fichiers
@ -67,9 +68,9 @@ all: test index.html
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_TEST) -d img || mkdir img
@$(PROG_TEST) -d categ || mkdir categ
@$(PROG_TEST) -d style || mkdir style
@$(PROG_ECHO) -e "\t…option introduction dans la page"
$(if $(INTRO), @test -f $(INTRO) || exit)
$(if $(INTRO), @$(PROG_ECHO) -e "\t\t-> activée", @$(PROG_ECHO) -e "\t\t-> désactivée")
@ -77,11 +78,11 @@ test:
$(if $(MENU), @test -f $(MENU) || exit)
$(if $(MENU), @$(PROG_ECHO) -e "\t\t-> activée", @$(PROG_ECHO) -e "\t\t-> désactivée")
@$(PROG_ECHO) -e "\t…création de la destination"
@test -d $(DESTINATION) || mkdir $(DESTINATION)
@$(PROG_TEST) -d $(DESTINATION) || mkdir $(DESTINATION)
@$(PROG_ECHO) -e "\t…création du dossier image"
@test -d $(DESTINATION)/image || mkdir $(DESTINATION)/image
@$(PROG_TEST) -d $(DESTINATION)/image || mkdir $(DESTINATION)/image
@$(PROG_ECHO) -e "\t…copie des fichiers images"
@cp -r img/* $(DESTINATION)/image
@$(PROG_CP) -r img/* $(DESTINATION)/image
@$(PROG_ECHO) -e " …terminé."
# création du fichier CSS
@ -93,7 +94,7 @@ css: $(dependances_css)
# création du fichier $(contenu)
contenu: $(script_contenu)
@sed -i "s/DEBUG=1/DEBUG=0/g" $(script_contenu)
@$(PROG_SED) -i "s/DEBUG=1/DEBUG=0/g" $(script_contenu)
@$(PROG_BASH) $(script_contenu) || exit
# création de la page d'index
@ -101,29 +102,29 @@ index.html: $(DOSSIER_HTML) css contenu $(dependances_index) $(contenu)
@$(PROG_ECHO) -e "Création de la page de garde…"
# entete
@$(PROG_ECHO) -e "\t…insertion de l'entête"
@cat $(entete) > $(INDEX)
@$(PROG_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" -e "s/^\(.*\)@@.*@@\(.*\)$$/\1\2/g" $(INDEX)
@$(PROG_SED) -i -e "s/@@TITRE_PORTEAIL@@/$(TITRE)/g" -e "s/@@ACCUEIL_PORTEAIL@@/$(ACCUEIL)/g" -e "s#@@CSS_DEFAUT@@#./$(CSS_NOM)#g" -e "s/^\(.*\)@@.*@@\(.*\)$$/\1\2/g" $(INDEX)
@$(PROG_ECHO) -e "\t …contenu modifié avec succès !"
# introduction (SI la variable INTRO est remplie)
$(if $(INTRO), @cat $(INTRO) >> $(INDEX); $(PROG_ECHO) -e "\t…insertion de l'introduction" || exit)
# contenu
@$(PROG_ECHO) -e "\t…insertion du contenu"
@cat $(contenu) >> $(INDEX)
@$(PROG_CAT) $(contenu) >> $(INDEX)
# fin du contenu
@$(PROG_ECHO) -e "\t…insertion de la fin du contenu"
@cat $(contenu_fin) >> $(INDEX)
@$(PROG_CAT) $(contenu_fin) >> $(INDEX)
# 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_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)
@rm -f $(contenu)
@$(PROG_RM) -rf $(DESTINATION)
@$(PROG_RM) -f $(contenu)
@$(PROG_ECHO) -e " …terminé."

4
TACHES
View File

@ -22,7 +22,7 @@ DESTDIR
- Tenter d'utiliser la description de l'élément pour faire une fenêtre qui s'affiche quand on passe sur le cadre de l'élément (tout en CSS si possible !)
- Que donne une ligne vide dans le fichier de catégorie ? => à tester comme cas possible
Pour la v0.1.1 :
>>> Pour la v0.1.1 :
- améliorer la connexion entre le makefile et creation_categ.sh afin de ne plus toucher aux variables de creation_categ.sh
- faire des "which" pour les programmes utilisés (notamment pour sha1 ou md5). Quitter le makefile si dans TEST les "which" sont vides
- dans dossier categ on fait une somme sha1 ou md5 de tous les fichiers. On copie dans le dossier porteail. Au début du programme, on compare somme de tous les fichiers du dossier categ avec la somme contenue dans dossier porteail (s'il existe). Si les sommes sont pareilles, alors on quitte le makefile
@ -33,7 +33,7 @@ Pour la v0.1.1 :
- trouver une méthode qui permet de récupérer toujours les dernières versions sources sans écraser la version que nous avons. configrc.exemple par exemple, à copier en configrc ;)
- Prévoir un script d'export des données entrées par l'utilisateur s'il utilise un dépôt git OU trouver un système de mise à jour du logiciel
Pour la v0.2 :
>>> Pour la v0.2 :
- imaginer un système d'héritage des feuilles de style pour ne modifier que les couleurs de la page, en dehors de la structure ?
- faire un export en XHTML si possible (ajouter l'extension au fichier de destination choisi
- HTML 5 avec header et footer