X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Makefile;h=1fc41efc0dbb2fa29da0979302153b319a32b522;hb=2072ddbb2ef86cdc3e7f5a46fdb74b443709db3b;hp=b54ce3738de1ae3cd846939e5a0c070d6b7883f3;hpb=b566b46151d1a0b18d1a48beeb081b8e7f2e4e5f;p=linuxjm%2FLDP_man-pages.git diff --git a/Makefile b/Makefile index b54ce373..1fc41efc 100644 --- a/Makefile +++ b/Makefile @@ -1,42 +1,70 @@ PERKAMON_DIR = perkamon LANGS = ja -THRESH = 100 +THRESH = 80 THRESH_REL = 80 FLAGS ?= PO4AFLAGS ?= -k $(THRESH) $(FLAGS) -all: translate +PO4A_SUBDIRS = $(notdir $(wildcard po4a/*)) -translate: jm-setup - LC_ALL=C $(MAKE) translate \ - PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \ - | tee untrans.txt - ./untrans-list.pl < untrans.txt > untrans.html - $(RM) untrans.txt +all: translate update-stats + +translate: $(patsubst %, stamp/%, $(PO4A_SUBDIRS)) +stamp/%: stamp-jm-setup po4a/%/po/ja.po + @echo "*************** translate: $* ***************" + mkdir -p stamp + LC_ALL=C $(MAKE) process-$* \ + PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) + touch $@ -translate-%: jm-setup - LC_ALL=C $(MAKE) translate-$* \ +translate-all: $(patsubst %, _translate-%, $(PO4A_SUBDIRS)) +_translate-%: jm-setup + LC_ALL=C $(MAKE) process-$* \ PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) -release: jm-setup +release: $(patsubst %, _release-%, $(PO4A_SUBDIRS)) + +_release-%: jm-setup rm -f $(PERKAMON_DIR)/build/ja ln -s ../../release $(PERKAMON_DIR)/build/ja - LC_ALL=C $(MAKE) translate \ + LC_ALL=C $(MAKE) process-$* \ PO4AFLAGS="-k $(THRESH_REL) $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) - rm -f $(PERKAMON_DIR)/build/ja + $(RM) $(PERKAMON_DIR)/build/ja ln -s ../../draft $(PERKAMON_DIR)/build/ja - # Do not remove unreleased pages + @# Do not remove unreleased pages @sleep 1 set -e; if git status release | grep deleted >/dev/null; then \ - git status release | grep 'deleted:' | awk '{print $3;}' | xargs -n1 echo; \ - git status release | grep 'deleted:' | awk '{print $3;}' | xargs -n1 git checkout; \ + git status release | grep deleted | awk '{print $$3;}' | xargs -n1 echo; \ + git status release | grep deleted | awk '{print $$3;}' | xargs -n1 git checkout; \ fi - # I don't know why untrans.txt is generated in release target - $(RM) untrans.txt + +update-stats: untrans.html + +untrans.html: $(patsubst %, stats/%, $(PO4A_SUBDIRS)) + @echo "*************** Updating translation statistics ***************" + ./tools/generate-list.pl $^ > $@ + +stats/%: stamp-jm-setup po4a/%/po/ja.po + @echo "*************** stats: $* ***************" + mkdir -p stats + mkdir -p _transtmp + $(RM) $(PERKAMON_DIR)/build/ja + ln -s ../../_transtmp $(PERKAMON_DIR)/build/ja + LC_ALL=C $(MAKE) process-$* \ + PO4AFLAGS="-k 100 $(FLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \ + | tee _log.txt + ./tools/extract-untrans.pl < _log.txt > $@ + $(RM) $(PERKAMON_DIR)/build/ja + ln -s ../../draft $(PERKAMON_DIR)/build/ja + $(RM) -r _transtmp + $(RM) _log.txt + +clean-stats: + $(RM) -r stats release-tl: set -e; if git status release | grep modified >/dev/null; then \ - git status release | grep modified | awk '{print $3;}' | cut -d / -f 3 | xargs -n1 -IXXXXX ../../admin/JM-tl-modify.pl -U translation_list XXXXX RO; \ + git status release | grep modified | awk '{print $$3;}' | cut -d / -f 3 | xargs -n1 -IXXXXX ../../admin/JM-tl-modify.pl -U translation_list XXXXX RO; \ fi format: @@ -57,31 +85,24 @@ format-%: cd $$cur; \ done -stats: jm-setup +postats: jm-setup @LC_ALL=C $(MAKE) stats \ PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) -untrans-stats: jm-setup +untrans-postats: jm-setup @LC_ALL=C $(MAKE) stats \ PO4AFLAGS="$(PO4AFLAGS)" LANGS="$(LANGS)" -C $(PERKAMON_DIR) \ 2>&1 | grep -vE ' translated messages\.$$' jm-setup: stamp-jm-setup stamp-jm-setup: - # Create symlink to po4a/*/po in the top dir. + @# Create symlink to po4a/*/po in the top dir. set -e; for d in $(PERKAMON_DIR)/po4a/*; do \ if [ ! -e $$d/po ]; then \ t=$$(echo $$d | sed -e "s|$(PERKAMON_DIR)/||"); \ ln -s ../../../$$t/po $$d/po; \ fi; \ done - # Create symlink to original dir instead of downloading tarball. - #cd $(PERKAMON_DIR) && \ - # if [ ! -e man-pages ]; then \ - # ln -s ../original man-pages; \ - # fi && \ - # touch stamp-unpack-release && \ - # touch stamp-unpack cd $(PERKAMON_DIR) && make setup @set -e; if [ ! -e $(PERKAMON_DIR)/build/ja ]; then \ ln -s ../../draft $(PERKAMON_DIR)/build/ja; \ @@ -94,3 +115,17 @@ clean-setup: $(RM) $(PERKAMON_DIR)/stamp-* $(RM) -rf $(PERKAMON_DIR)/build find $(PERKAMON_DIR) -type l | xargs $(RM) + +help: + @echo "Available targets:" + @echo " translate Generate draft from po files" + @echo " translate- Generate draft from the specified po file" + @echo " release Generate release from po files" + @echo "" + @echo " update-stats Update per-page trans stats" + @echo " clean-stats Remove all caches of per-page trans stats" + @echo " postats Display per-po trans stats" + @echo " untrans-postats Display per-po trans stats (untrans only)" + @echo "" + @echo " jm-setup Setup perkamon environment" + @echo " clean-setup Clean perkamon environment"