Add update-po target, to update the manpage po files run make -C man-po update-po Updated the po files. References: procps-ng/procps#230
		
			
				
	
	
		
			114 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
 | 
						|
# *.po and *.pot are kept in VCS and generated by po4a-dist command
 | 
						|
# translated/* are put in distribution but not found in VCS
 | 
						|
#
 | 
						|
# run:
 | 
						|
#   rm man-po/man.stamp
 | 
						|
#   make -C man-po man.stamp
 | 
						|
# To update man page translations
 | 
						|
 | 
						|
# Not sure why this needs to be repeated from the top-level Makefile but it does
 | 
						|
dist_man_MANS = \
 | 
						|
	../free.1 \
 | 
						|
	../pgrep.1 \
 | 
						|
	../pkill.1 \
 | 
						|
	../pmap.1 \
 | 
						|
	../uptime.1 \
 | 
						|
	../vmstat.8 \
 | 
						|
	../doc/procps.3 \
 | 
						|
	../doc/procps_pids.3 \
 | 
						|
	../doc/procps_misc.3
 | 
						|
 | 
						|
translated_MANS = $(wildcard translated/*/*.[1-9])
 | 
						|
translated_MAN_sections=$(subst .,,$(sort $(suffix $(translated_MANS))))
 | 
						|
 | 
						|
translated_langs = $(notdir $(wildcard translated/*))
 | 
						|
 | 
						|
 | 
						|
EXTRA_DIST = po4a.cfg \
 | 
						|
	     procps-man.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 = --srcdir $(srcdir) --destdir $(CURDIR) \
 | 
						|
            --package-name $(PACKAGE) --package-version $(VERSION) \
 | 
						|
            --msgid-bugs-address "Procps list <procps@freelists.org>"
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
procps-man.pot:
 | 
						|
#	parafiles = $(patsubst %,-m%,$(subst :, ,$(dist_man_MANS)))
 | 
						|
#	parafiles = $(dist_man_MANS:doc=Ente)
 | 
						|
	po4a-gettextize -M utf8 --option groff_code=verbatim --option generated --option untranslated="a.RE,\|" --option unknown_macros=untranslated -f man $(patsubst %,-m%,$(subst :, ,$(dist_man_MANS))) -p $@
 | 
						|
 | 
						|
update-po:
 | 
						|
	$(PO4A_V) $(PO4A) $(PO4A_OPTS) --force $(srcdir)/po4a.cfg
 | 
						|
 | 
						|
 | 
						|
install-data-local:
 | 
						|
	for lang in $(LINGUAS) ; do \
 | 
						|
	    files=""; \
 | 
						|
	    for trans in $(notdir $(dist_man_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" \
 | 
						|
		    man_MANS="" \
 | 
						|
		    dist_man_MANS="$$files"; \
 | 
						|
	done
 | 
						|
 | 
						|
uninstall-local:
 | 
						|
	for lang in $(LINGUAS); do \
 | 
						|
		files=""; \
 | 
						|
		for trans in $(notdir $(dist_man_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" \
 | 
						|
			man_MANS="" \
 | 
						|
			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
 |