1 PERKAMON_DIR = perkamon
6 PO4AFLAGS ?= -k $(THRESH) $(FLAGS)
8 PO4A_SUBDIRS = $(notdir $(wildcard po4a/*))
12 all: translate update-stats
13 release: release-pages update-tl-finish check-tl-nofinish
15 translate: $(patsubst %, stamp/%, $(PO4A_SUBDIRS))
16 stamp/%: stamp-jm-setup po4a/%/po/ja.po
17 @echo "*************** translate: $* ***************"
19 LC_ALL=C $(MAKE) process-$* \
20 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
24 ../../admin/JM-release-all.sh -c
26 update-stats: untrans.html
28 untrans.html: $(patsubst %, stats/%, $(PO4A_SUBDIRS))
29 @echo "*************** Updating translation statistics ***************"
30 ./tools/generate-list.pl $^ > $@
32 stats/%: stamp-jm-setup po4a/%/po/ja.po
33 @echo "*************** stats: $* ***************"
36 $(RM) $(PERKAMON_DIR)/build/ja
37 ln -s ../../_transtmp $(PERKAMON_DIR)/build/ja
38 LC_ALL=C $(MAKE) process-$* \
39 PO4AFLAGS="-k 100 $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
41 ./tools/extract-untrans.pl < _log.txt > $@
42 $(RM) $(PERKAMON_DIR)/build/ja
43 ln -s ../../draft $(PERKAMON_DIR)/build/ja
51 @cat stats/* | grep -v '^#' | cut -d , -f 1 | sort > _stats.txt
52 @grep '^[×☆]' translation_list | cut -d : -f 5-6 | sed -e 's/:/./' | sort > _tr_todo.txt
53 @for p in `comm -23 _tr_todo.txt _stats.txt`; do \
54 ../../admin/JM-tl-modify.pl -U translation_list $$p RO; \
56 @$(RM) _stats.txt _tr_todo.txt
59 @cat stats/* | grep -v '^#' | cut -d , -f 1 | sort > _stats.txt
60 @grep '^○' translation_list | cut -d : -f 5-6 | sed -e 's/:/./' | sort > _tr_finish.txt
61 @comm -12 _tr_finish.txt _stats.txt
62 @$(RM) _stats.txt _tr_finish.txt
65 set -e; for d in po4a/*; do \
66 echo "----- $$d -----"; cur=`pwd`; cd $$d/po; \
68 LC_ALL=C msgmerge --verbose -o $$f ja.po $$(basename $$d) \
74 set -e; for d in po4a/$*; do \
77 msgmerge --verbose -o $$f ja.po $$(basename $$d) \
83 @LC_ALL=C $(MAKE) stats \
84 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR)
86 untrans-postats: jm-setup
87 @LC_ALL=C $(MAKE) stats \
88 PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \
89 2>&1 | grep -vE ' translated messages\.$$'
91 jm-setup: stamp-jm-setup
93 @# Create symlink to po4a/*/po in the top dir.
94 set -e; for d in $(PERKAMON_DIR)/po4a/*; do \
95 if [ ! -e $$d/po ]; then \
96 t=$$(echo $$d | sed -e "s|$(PERKAMON_DIR)/||"); \
97 ln -s ../../../$$t/po $$d/po; \
100 cd $(PERKAMON_DIR) && make setup
101 @set -e; if [ ! -e $(PERKAMON_DIR)/build/ja ]; then \
102 ln -s ../../draft $(PERKAMON_DIR)/build/ja; \
108 $(RM) $(PERKAMON_DIR)/man-pages || true
109 $(RM) $(PERKAMON_DIR)/stamp-*
110 $(RM) -rf $(PERKAMON_DIR)/build
111 find $(PERKAMON_DIR) -type l | xargs $(RM)
114 @echo "Available targets:"
115 @echo " translate Generate draft from po files"
116 @echo " translate-<SEC> Generate draft from the specified po file"
117 @echo " release Generate release from po files"
119 @echo " update-stats Update per-page trans stats"
120 @echo " clean-stats Remove all caches of per-page trans stats"
121 @echo " postats Display per-po trans stats"
122 @echo " untrans-postats Display per-po trans stats (untrans only)"
124 @echo " jm-setup Setup perkamon environment"
125 @echo " clean-setup Clean perkamon environment"