summaryrefslogtreecommitdiffstats
path: root/man-po/Makefile.am
blob: 87c797f373348078c1465596a6229b9574e925be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
## Process this file with automake to produce Makefile.in

src_MANS = $(wildcard $(top_srcdir)/doc/*.[1-9])

translated_MANS = $(wildcard translated/*/*.[1-9])

EXTRA_DIST = \
	po4a.cfg \
	psmisc.pot \
	$(translated_MANS)


# Extract the list of languages from the po4a config file.
LINGUAS_DIST = $(shell sed -ne 's/^.*\[po4a_langs\] \(.*\)$$/\1/p' $(srcdir)/po4a.cfg)

# If the user has not defined it let's use the default.
LINGUAS ?= $(LINGUAS_DIST)


PO4A_V = $(PO4A_V_@AM_V@)
PO4A_V_ = $(PO4A_V_@AM_DEFAULT_V@)
PO4A_V_0 = @echo "  PO4A   $@";

### PO4A_OPTS = --previous --srcdir $(srcdir) --destdir $(CURDIR) --no-backups \
###            --package-name psmisc --package-version $(PACKAGE_VERSION) \
###            --msgid-bugs-address "Craig Small <csmall@enc.com.au>"

PO4A_OPTS = --previous --srcdir $(srcdir) --destdir $(CURDIR) --no-backups \
            --package-name $(PACKAGE) --package-version $(VERSION) \
            --msgid-bugs-address "Craig Small <csmall@dropbear.xyz>"

all-local: all-local-@USE_PO4A@

all-local-no:
all-local-yes: man.stamp

# FIXME: Use a stamp file until po4a supports them internally.
man.stamp:
	$(PO4A_V) $(PO4A) $(PO4A_OPTS) $(srcdir)/po4a.cfg
	$(AM_V_at) touch $@

clean-local: clean-local-@USE_PO4A@

clean-local-no:
clean-local-yes:
	rm -rf $(LINGUAS_DIST)
	$(AM_V_at) rm -f man.stamp

.PHONY: update-po

psmisc.pot: $(src_MANS)
	po4a-gettextize -M utf8 --option groff_code=verbatim --option generated --option untranslated="a.RE,\|" --option unknown_macros=untranslated -f man $(patsubst %,-m%,$(subst :, ,$(src_MANS))) -p psmisc.pot

update-po:
	$(PO4A_V) $(PO4A) $(PO4A_OPTS) --force $(srcdir)/po4a.cfg


install-data-local:
	for lang in $(LINGUAS); do \
		files=""; \
		for trans in $(notdir $(src_MANS)); do \
			if [ -f $(CURDIR)/$$lang/$$trans ]; then \
				files="$$files $(CURDIR)/$$lang/$$trans"; \
			elif [ -f $(srcdir)/$$lang/$$trans ]; then \
				files="$$files $(srcdir)/$$lang/$$trans"; \
			fi; \
		done; \
		$(MAKE) -C .. install-man \
			mandir="$(mandir)/$$lang" \
			dist_man_MANS="$$files"; \
	done

uninstall-local:
	for lang in $(LINGUAS); do \
		files=""; \
		for trans in $(notdir $(src_MANS)); do \
			if [ -f $(CURDIR)/$$lang/$$trans ]; then \
				files="$$files $(CURDIR)/$$lang/$$trans"; \
			elif [ -f $(srcdir)/$$lang/$$trans ]; then \
				files="$$files $(srcdir)/$$lang/$$trans"; \
			fi; \
		done; \
		$(MAKE) -C .. uninstall-man \
			mandir="$(mandir)/$$lang" \
			dist_man_MANS="$$files"; \
	done

dist-hook: man.stamp
	cp $(srcdir)/man.stamp $(distdir)/
	for lang in $(LINGUAS_DIST); do \
		cp $(srcdir)/$$lang.po $(distdir); \
		cp $(srcdir)/$$lang.add $(distdir); \
		$(MKDIR_P) $(distdir)/$$lang; \
		cp -r $(srcdir)/$$lang $(distdir)/; \
	done