commit 5d9fe716d79702e00e782f85ea53dabd79e8c462
parent 0d46c387e504bf61c44efa0ddcbef5fe014f4375
Auteur: Selve <selve@asteride.xyz>
Date: Tue, 23 Jan 2024 17:25:48 -0500
réorganisation du Makefile
LISEZ-MOI.txt a été modifié en conséquence.
Diffstat:
2 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/LISEZ-MOI.txt b/LISEZ-MOI.txt
@@ -34,15 +34,18 @@ Compiler le programme :
$ make
+Notez que dans certains systèmes, libintl est incluse dans libc. Dans ce cas, il
+faut retirer -lintl de la variable LIBS.
+
Installer le programme, avec les pages du manuel et les traductions des messages
du programme :
-(Ils s'installeront sous PREFIX, MAN_DOS et I18N_DOS, respectivement. Ces
-variables ont chacune une valeur prédéfinie dans Makefile, mais il peut être
-utile de les modifier)
-
# make install
+Ils s'installeront sous BIN_DOS, MAN_DOS et I18N_DOS, respectivement. Ces
+variables ont chacune une valeur prédéfinie dans le Makefile et dépendent de
+PREFIX, mais il peut être utile de les modifier.
+
Objectif
--------
diff --git a/Makefile b/Makefile
@@ -1,24 +1,27 @@
-PREFIX = /usr/local/bin
-MAN_DOS = /usr/local/man
-I18N_DOS = /usr/local/share/locale
-LIB_DOS = /usr/local/lib
-INC_DOS = /usr/local/include
+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
-DOS_PO = po
-DOS_MAN = man
+DOS_PO = po
+DOS_MAN = man
-CC = cc
-COPT_SPCL = -O2 -DNDEBUG
-COPT = -Wall -Wextra -Werror -Wpedantic -Wno-implicit-fallthrough \
+CC = cc
+COPTS_SPCL = -O2 -DNDEBUG
+COPTS = -Wall -Wextra -Werror -Wpedantic -Wno-implicit-fallthrough \
--std=c89 ${COPT_SPCL}
-CPPOPT = -I${INC_DOS} -DI18N_DOMAINE=\"aplat\" -DI18N_DOS=\"${I18N_DOS}\"
+CPPOPTS = -I${INC_DOS} -DI18N_DOMAINE=\"aplat\" -DI18N_DOS=\"${I18N_DOS}\"
+LDOPTS = -L${LIB_DOS}
-FCH_PO != find ${DOS_PO} -name '*.po'
-FCH_MO != find ${DOS_PO} -name '*.po' | sed 's/\.po$$/\.mo/'
+FCH_PO != find ${DOS_PO} -name '*.po'
+FCH_MO != find ${DOS_PO} -name '*.po' | sed 's/\.po$$/\.mo/'
.SUFFIXES: .c .o .po .mo
.c.o:
- ${CC} ${COPT} ${CPPOPT} -c "$<"
+ ${CC} ${COPTS} ${CPPOPTS} -c "$<"
.po.mo:
msgfmt -o "$@" "$<"
@@ -26,7 +29,8 @@ FCH_MO != find ${DOS_PO} -name '*.po' | sed 's/\.po$$/\.mo/'
all: aplat traductions
aplat: aplat.o tampon.o
- ${CC} ${COPT} -L${LIB_DOS} -o "$@" aplat.o tampon.o -lintl
+ #${CC} ${COPT} -L${LIB_DOS} -o "$@" aplat.o tampon.o ${LIBS}
+ ${CC} ${COPT} ${LDOPTS} -o "$@" aplat.o tampon.o ${LIBS}
traductions: ${FCH_MO}
@@ -39,8 +43,8 @@ maj_trad:
done
inst_aplat:
- mkdir -p "${PREFIX}"
- install -m 755 aplat "${PREFIX}"/aplat
+ mkdir -p "${BIN_DOS}"
+ install -m 755 aplat "${BIN_DOS}"/aplat
inst_trad:
for F in ${FCH_MO} ; \
@@ -61,7 +65,7 @@ inst_man:
install: all inst_aplat inst_trad inst_man
uninstall:
- rm -f ${PREFIX}/aplat
+ 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