1*4882a593SmuzhiyunFrom 5368bd0cfd0640f5c0ca766d4fda1b3f71c1b013 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3*4882a593SmuzhiyunDate: Wed, 30 Aug 2017 23:07:26 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Makefile, autoconf/makeinfo.in: support build/install without
5*4882a593Smuzhiyun gettext
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunThe gettext tool msgfmt may not be available to build the .mo files
8*4882a593Smuzhiyunfrom the .po files, so we handle this case by disabling the
9*4882a593Smuzhiyunbuild/installation of .po files in such a case.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunSigned-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
12*4882a593Smuzhiyun---
13*4882a593Smuzhiyun Makefile             | 17 ++++++++++++++---
14*4882a593Smuzhiyun autoconf/makeinfo.in |  1 +
15*4882a593Smuzhiyun 2 files changed, 15 insertions(+), 3 deletions(-)
16*4882a593Smuzhiyun
17*4882a593Smuzhiyundiff --git a/Makefile b/Makefile
18*4882a593Smuzhiyunindex a708046..3e83ca3 100644
19*4882a593Smuzhiyun--- a/Makefile
20*4882a593Smuzhiyun+++ b/Makefile
21*4882a593Smuzhiyun@@ -7,11 +7,18 @@ OBJFILES	:= $(SRCFILES:%.c=%.o)
22*4882a593Smuzhiyun LANGS		= fr ru es
23*4882a593Smuzhiyun MOS		:= $(addprefix po/, $(addsuffix .mo, $(LANGS)))
24*4882a593Smuzhiyun LOCALEDIR	= $(INSTALL_PREFIX)/usr/share/locale
25*4882a593Smuzhiyun-
26*4882a593Smuzhiyun-all: pdmenu $(POTFILE) $(MOS)
27*4882a593Smuzhiyun+TARGETS		= pdmenu
28*4882a593Smuzhiyun+INSTALL_TARGETS	= install-pdmenu
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun include makeinfo
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun+ifneq ($(MSGFMT),)
33*4882a593Smuzhiyun+TARGETS += $(POTFILE) $(MOS)
34*4882a593Smuzhiyun+INSTALL_TARGETS += install-pos
35*4882a593Smuzhiyun+endif
36*4882a593Smuzhiyun+
37*4882a593Smuzhiyun+all: $(TARGETS)
38*4882a593Smuzhiyun+
39*4882a593Smuzhiyun pdmenu: .dep $(OBJFILES)
40*4882a593Smuzhiyun 	${CC} -o pdmenu $(OBJFILES) $(CFLAGS) $(LIBS)
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun@@ -40,7 +47,9 @@ clean:
43*4882a593Smuzhiyun 	$(MAKE) $(POTFILE) # make sure translators' input is ready
44*4882a593Smuzhiyun 	rm -f $(OBJFILES) pdmenu $(MOS)
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun-install: all
47*4882a593Smuzhiyun+install: $(INSTALL_TARGETS)
48*4882a593Smuzhiyun+
49*4882a593Smuzhiyun+install-pdmenu:
50*4882a593Smuzhiyun 	$(INSTALL) -d $(INSTALL_PREFIX)/$(BINDIR) \
51*4882a593Smuzhiyun 		$(INSTALL_PREFIX)/$(MANDIR)/man1 \
52*4882a593Smuzhiyun 		$(INSTALL_PREFIX)/$(MANDIR)/man5 \
53*4882a593Smuzhiyun@@ -56,6 +65,8 @@ install: all
54*4882a593Smuzhiyun 	$(INSTALL) examples/pdmenurc $(INSTALL_PREFIX)/$(SYSCONFDIR)/pdmenurc -m 0644
55*4882a593Smuzhiyun 	$(INSTALL) examples/showdir.pl $(INSTALL_PREFIX)/$(DATADIR)/pdmenu
56*4882a593Smuzhiyun 	cd $(INSTALL_PREFIX)/$(DATADIR)/pdmenu && $(LN_S) -f showdir.pl editdir.pl
57*4882a593Smuzhiyun+
58*4882a593Smuzhiyun+install-pos:
59*4882a593Smuzhiyun 	for lang in $(LANGS); do \
60*4882a593Smuzhiyun 		[ ! -d $(LOCALEDIR)/$$lang/LC_MESSAGES/ ] && mkdir -p $(LOCALEDIR)/$$lang/LC_MESSAGES/; \
61*4882a593Smuzhiyun 		install -m 644 po/$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/pdmenu.mo; \
62*4882a593Smuzhiyundiff --git a/autoconf/makeinfo.in b/autoconf/makeinfo.in
63*4882a593Smuzhiyunindex 6d58d77..069daf8 100644
64*4882a593Smuzhiyun--- a/autoconf/makeinfo.in
65*4882a593Smuzhiyun+++ b/autoconf/makeinfo.in
66*4882a593Smuzhiyun@@ -8,6 +8,7 @@ DATADIR		= @datadir@
67*4882a593Smuzhiyun CC		= @CC@
68*4882a593Smuzhiyun INSTALL		= @INSTALL@
69*4882a593Smuzhiyun LN_S		= @LN_S@
70*4882a593Smuzhiyun+MSGFMT		= @MSGFMT@
71*4882a593Smuzhiyun VER		= @VER@
72*4882a593Smuzhiyun DEFINES		= -DETCDIR=\"${SYSCONFDIR}/\" -DVER=\"${VER}\" @DEFS@ \
73*4882a593Smuzhiyun 		  $(PROFILE) -D__USE_FIXED_PROTOTYPES__ -D_GNU_SOURCE \
74*4882a593Smuzhiyun--
75*4882a593Smuzhiyun2.13.5
76*4882a593Smuzhiyun
77