aplat

Documents structurés pour Unix
git clone git://git.asteride.xyz/~ldp/aplat.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

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:
MMakefile | 78+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
Dconfig.mk | 19-------------------
Dman/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>