commit d1a78f74dfa38310384030820bd7a5994fc12166
parent dc749acf32a42ce1fa35f0212f025a1930f6cd49
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Fri, 7 Jun 2024 16:19:23 -0400
restauration et adaptation de l'ancienne Makefile
Diffstat:
M | Makefile | | | 78 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- |
D | config.mk | | | 19 | ------------------- |
D | man/fr/accumuler.1 | | | 97 | ------------------------------------------------------------------------------- |
3 files changed, 69 insertions(+), 125 deletions(-)
diff --git a/Makefile b/Makefile
@@ -1,21 +1,81 @@
-include config.mk
+VERSION = 2.0-ε/1 (2024/06/07)
-#FCH_PO != find ${DOS_PO} -name '*.po'
-#FCH_MO != find ${DOS_PO} -name '*.po' | sed 's/\.po$$/\.mo/'
+PREFIX = /usr/local
+BIN_DOS = ${PREFIX}/bin
+MAN_DOS = ${PREFIX}/man
+I18N_DOS = ${PREFIX}/share/locale
+LIB_DOS = /usr/local/lib
+INC_DOS = /usr/local/include
+LIBS = -lintl
-#LANG_MAN != ls "${DOS_MAN}"
+DOS_PO = po
+DOS_MAN = man
+
+CC = cc
+#COPTS_SPCL = -O2 -DNDEBUG
+COPTS = -Wall -Wextra -Werror -Wpedantic -Wno-implicit-fallthrough \
+ --std=c89 ${COPTS_SPCL}
+CPPOPTS = -I${INC_DOS} -DI18N_DOMAINE="\"aplat\"" \
+ -DI18N_DOS="\"${I18N_DOS}\"" \
+ -DVERSION="\"${VERSION}\""
+LDOPTS = -L${LIB_DOS}
+
+FCH_PO != find ${DOS_PO} -name '*.po'
+FCH_MO != find ${DOS_PO} -name '*.po' | sed 's/\.po$$/\.mo/'
+
+LANG_MAN != ls "${DOS_MAN}"
.SUFFIXES: .c .o .po .mo
.c.o:
${CC} ${COPTS} ${CPPOPTS} -c "$<"
-#.po.mo:
-# msgfmt -o "$@" "$<"
+.po.mo:
+ msgfmt -o "$@" "$<"
-all: aplat
+all: aplat traductions
aplat: aplat.o tampon.o
- ${CC} ${COPTS} ${LDOPTS} -o "$@" aplat.o tampon.o ${BIBS}
+ ${CC} ${COPTS} ${LDOPTS} -o "$@" aplat.o tampon.o ${LIBS}
+
+traductions: ${FCH_MO}
+
+maj_trad:
+ xgettext --from-code=UTF-8 -k_ -o - *.c | \
+ msgmerge -qo "${DOS_PO}/modele.pot" "${DOS_PO}/modele.pot" -
+ for F in ${FCH_PO} ; \
+ do \
+ msgmerge -qo "$$F" "$$F" "${DOS_PO}/modele.pot" ; \
+ done
+
+inst_aplat:
+ mkdir -p "${BIN_DOS}"
+ install -m 755 aplat "${BIN_DOS}"/aplat
+
+inst_trad:
+ for F in ${FCH_MO} ; \
+ do \
+ LANGUE="$$(echo "$$F" | sed 's|.*/\(.*\)\..*|\1|')" ; \
+ mkdir -p "${I18N_DOS}/$$LANGUE/LC_MESSAGES" ; \
+ cp $$F \
+ "${I18N_DOS}/$$LANGUE/LC_MESSAGES/aplat.mo" ; \
+ done
+
+inst_man:
+ for L in ${LANG_MAN} ; \
+ do \
+ mkdir -p ${MAN_DOS}/$$L/man1 ; \
+ cp "${DOS_MAN}/$$L/aplat.1" "${MAN_DOS}/$$L/man1" ; \
+ mkdir -p ${MAN_DOS}/$$L/man5 ; \
+ cp "${DOS_MAN}/$$L/aplat.5" "${MAN_DOS}/$$L/man5" ; \
+ cp "${DOS_MAN}/$$L/plat.5" "${MAN_DOS}/$$L/man5" ; \
+ done
+
+install: all inst_aplat inst_trad inst_man
+
+uninstall:
+ rm -f ${BIN_DOS}/aplat
+ find "${I18N_DOS}" -type f -name 'aplat.mo' | xargs rm -f
+ find "${MAN_DOS}" -type f -name 'a?plat.[123456789]' | xargs rm -f
clean:
- rm -rf *.o *.core
+ rm -f aplat *.o *.core po/*.mo
diff --git a/config.mk b/config.mk
@@ -1,19 +0,0 @@
-VERSION = 2.0-ε/1 (2024/06/07)
-
-PREFIXE = /usr/local
-BIN_DOS = ${PREFIXE}/bin
-MAN_DOS = ${PREFIXE}/man
-I18N_DOS = ${PREFIXE}/share/locale
-INC_DOS = /usr/local/include
-BIB_DOS = /usr/local/lib
-BIBS = -lintl
-
-DOS_PO = po
-DOS_MAN = man
-
-CC = cc
-COPTS = -Wall -Wextra -Wpedantic -Werror --std=c89 #-O2 -DNDEBUG
-CPPOPTS = -I${INC_DOS} -DI18N_DOMAINE='"aplat"' \
- -DI18N_DOS='"${I18N_DOS}"' \
- -DVERSION='"${VERSION}"'
-LDOPTS = -L${BIB_DOS}
diff --git a/man/fr/accumuler.1 b/man/fr/accumuler.1
@@ -1,97 +0,0 @@
-.Dd 6 avril 2024
-.Dt ACCUMULER 1
-.Os
-.Sh NOM
-.Nm accumuler
-.Nd Accumuler la hiérarchie des étiquettes
-.Sh SYNOPSIS
-.Nm
-<\c
-.Ar fichier
-.Nm
-.Fl V
-.Sh DESCRIPTION
-L’utilitaire
-.Nm
-lit en entrée standard et écrit en sortie standard.
-Il a pour but de faciliter le travail
-aux utilitaires de traitement de texte Unix.
-Il modifie le champ des étiquettes
-d’un document
-au format
-.Xr plat 5
-en y plaçant
-toute la hiérarchie des étiquettes,
-du
-.Em "domaine racine"
-au
-.Em "domaine cadet" .
-Des deux-points
-.Pq Sq ":"
-sont placés à gauche et à droite les étiquettes.
-.Pp
-Le document ainsi transformé
-n’est plus un document
-.Xr plat 5
-valide.
-.Pp
-Lorsque
-.Nm
-est exécuté avec l’option
-.Fl V ,
-la version du programme est affichée en sortie standard.
-.Sh EXEMPLES
-En supposant que le fichier
-.Pa livres.plat
-a le contenu suivant\~:
-.Bd -literal -offset indent
-$ aplat <livres.plat
-( doc
-( @
-() titre Liste de livres
-() date 2024-04-06
-)
-( livre
-( @
-() titre Candide ou l’optimisme
-() auteur Voltaire
-() date 1759
-)
-)
-)
-.Ed
-.Pp
-La commande suivante affiche le texte suivant\~:
-.Bd -literal -offset indent
-$ accumuler <livres.plat
-( :doc:
-( :doc:@:
-() :doc:@:titre: Liste de livres
-() :doc:@:date: 2024-04-06
-) :doc:@:
-( :doc:livre:
-( :doc:livre:@:
-() :doc:livre:@:titre: Candide ou l’optimisme
-() :doc:livre:@:auteur: Voltaire
-() :doc:livre:@:date: 1759
-) :doc:livre:@:
-) :doc:livre:
-) :doc:
-.Ed
-.Pp
-Il est alors possible d’utiliser
-.Xr grep 1
-pour extraire le titre des livres plutôt que le titre du document\~:
-.Bd -literal -offset indent
-$ acculumer <livres.plat | grep ':livre:@:titre: ' | cut -f3
-Candide ou l’optimisme
-.Ed
-.Sh ÉTATS DE SORTIE
-L’utilitaire
-.Nm
-quitte avec 0 si tout s’est bien passé et avec >0 si une erreur est survenue.
-.Sh VOIR AUSSI
-.Xr aplat 1
-.Xr plat 5
-.Sh AUTEURS
-.An Selve <selve@asteride.xyz>