Skip to content

Commit 6e09532

Browse files
authored
Merge pull request #149 from vim-jp/update-makefile
Update makefile
2 parents 1dc3df1 + 6a7f49f commit 6e09532

File tree

5 files changed

+134
-10
lines changed

5 files changed

+134
-10
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.*.sw?
22
*~
3+
*.log
34
/tmp/
45
/vim-lang-ja*.tar.gz
56
/vim-lang-ja*.tar.bz2

Makefile

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,61 @@ ARCHIVE_EXT = xz
33
ARCHIVE_DIR = $(ARCHIVE)
44
ARCHIVE_FILE = $(ARCHIVE).tar.$(ARCHIVE_EXT)
55

6+
VIM_SRC_DIR =
7+
68
INSTALL_DIR = $(ARCHIVE)-runtime
79

10+
.PHONY: import-en-files update-src-dir \
11+
archive archive-dir release release-today test install clean distclean \
12+
force-update-all force-update-po force-update-lang force-update-tutor
13+
14+
15+
# Import English files from the specified Vim source directory.
16+
import-en-files:
17+
@if test ! -d "$(VIM_SRC_DIR)"; then echo VIM_SRC_DIR not specified; exit 1; fi
18+
$(MAKE) -C "$(VIM_SRC_DIR)"/src/po/ vim.pot
19+
cp "$(VIM_SRC_DIR)"/src/po/vim.pot src/po/
20+
cp "$(VIM_SRC_DIR)"/runtime/doc/evim.1 \
21+
"$(VIM_SRC_DIR)"/runtime/doc/vim.1 \
22+
"$(VIM_SRC_DIR)"/runtime/doc/vimdiff.1 \
23+
"$(VIM_SRC_DIR)"/runtime/doc/vimtutor.1 \
24+
"$(VIM_SRC_DIR)"/runtime/doc/xxd.1 \
25+
runtime/doc/
26+
cp "$(VIM_SRC_DIR)"/runtime/tutor/tutor runtime/tutor/
27+
cp "$(VIM_SRC_DIR)"/nsis/lang/english.nsi nsis/lang/
28+
29+
# Update Vim source directory.
30+
update-src-dir:
31+
@if test ! -d "$(VIM_SRC_DIR)"; then echo VIM_SRC_DIR not specified; exit 1; fi
32+
@rm -rf $(ARCHIVE_DIR)
33+
$(MAKE) test
34+
$(MAKE) $(ARCHIVE_DIR)
35+
cp -rf $(ARCHIVE_DIR)/* "$(VIM_SRC_DIR)"
36+
rm -rf $(ARCHIVE_DIR)
37+
38+
839
archive: $(ARCHIVE_FILE)
940

1041
archive-dir: $(ARCHIVE_DIR)
1142

43+
# Create release package with the specified archive name.
1244
release: force-update-all
1345
@rm -rf $(ARCHIVE_DIR) $(ARCHIVE_FILE)
1446
$(MAKE) test
1547
$(MAKE) $(ARCHIVE_FILE)
1648
rm -rf $(ARCHIVE_DIR)
1749

50+
# Create release package based on today's date.
1851
release-today:
1952
$(MAKE) release ARCHIVE=vim-lang-ja-`date +%Y%m%d`
2053

2154
test:
2255
$(MAKE) -C src/po test
56+
$(MAKE) -C runtime/doc test
2357
$(MAKE) -C runtime/lang test
2458
$(MAKE) -C runtime/tutor test
2559

60+
# Install the message files into the specified (runtime) directory.
2661
install: test
2762
mkdir -p $(INSTALL_DIR)/lang/ja/LC_MESSAGES
2863
mkdir -p $(INSTALL_DIR)/lang/ja.euc-jp/LC_MESSAGES
@@ -40,6 +75,7 @@ clean:
4075
rm -rf $(ARCHIVE_DIR) $(ARCHIVE_FILE)
4176
rm -rf $(INSTALL_DIR)
4277
$(MAKE) -C src/po clean
78+
$(MAKE) -C runtime/doc clean
4379
$(MAKE) -C runtime/lang clean
4480
$(MAKE) -C runtime/tutor clean
4581

@@ -62,10 +98,12 @@ $(ARCHIVE_DIR):
6298
mkdir -p $@/runtime/lang
6399
mkdir -p $@/runtime/doc
64100
mkdir -p $@/runtime/tutor
101+
mkdir -p $@/nsis/lang
65102
cp src/po/*.po $@/src/po
66103
cp runtime/lang/menu_ja*.vim $@/runtime/lang
67104
cp runtime/doc/*.UTF-8.1 $@/runtime/doc
68105
cp runtime/tutor/tutor.ja.* $@/runtime/tutor
106+
cp nsis/lang/japanese.nsi $@/nsis/lang
69107

70108
$(ARCHIVE).tar.gz: $(ARCHIVE_DIR)
71109
tar -czf $@ $<

README.md

Lines changed: 78 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,42 @@ runtime/tutor/tutor.ja.utf-8 |日本語チュートリアルファイル(U
1818
runtime/tutor/tutor |原文チュートリアルファイル
1919
nsis/lang |Windows用インストーラーの翻訳ファイル
2020

21+
## 原文ファイル取り込み手順
22+
23+
以下のコマンドを実行して原文ファイルを現在の作業ディレクトリに取り込む。
24+
(`VIM_SRC_DIR` で Vim のソースディレクトリを指定)
25+
26+
$ make import-en-files VIM_SRC_DIR=../vim
27+
28+
この手順では、vim.pot ファイル、man ファイル、チュートリアルファイル、NSIS
29+
ファイルの原文ファイルをまとめて取り込む。個別に取り込む場合や注意事項は以下の
30+
それぞれの項目を参照のこと。
31+
32+
メニューファイルについては、原文ファイルにあたるものがないので、取り込みは行わ
33+
ない。`runtime/menu.vim` などの履歴を見て手動で適宜更新する必要がある。
34+
2135
## ja.po 更新手順
2236

2337
1. vim.pot を作成(要xgettext)
2438

39+
(前述の原文ファイル取り込み手順を実施済みであれば不要。)
40+
2541
Vimのソースで以下を実行して、生成される vim.pot を src/po へコピー
2642

2743
$ cd src/po
2844
$ make vim.pot
2945

3046
註: `make vim.pot` を実行するには `src/``./configure` を実行しておく必
3147
要があるが、`src/po/Makefile` の4行目の `include ../auto/config.mk` をコメ
32-
ントアウトして回避することも可能。(あるいは、空の `src/auto/config.mk` を用意してもよい。)
48+
ントアウトして回避することも可能。(あるいは、空の `src/auto/config.mk`
49+
用意してもよい。)
3350

34-
Windows 上で vim.pot を生成するには、Cygwin や MSYS2 等の Linux 的な環境を使うこと。(MSVC 用の Makefile も用意されているが、ソースファイルの読み込み順序が異なるために余計な差分が出てしまう。)
35-
また、Win32 向けにビルドしたために `src/if_perl.c` が生成されているならば、vim.pot 生成前に削除しておくこと。(余計な差分が出るのを防ぐため。)
51+
Windows 上で vim.pot を生成するには、Cygwin や MSYS2 等の Linux 的な環境を
52+
使うこと。(MSVC 用の Makefile も用意されているが、ソースファイルの読み込み
53+
順序が異なるために余計な差分が出てしまう。)
54+
また、古いソースを使って Win32 向けにビルドしたことで `src/if_perl.c`
55+
残っているならば、vim.pot 生成前に削除しておくこと。(余計な差分が出るのを
56+
防ぐため。)
3657

3758
2. ja.po に vim.pot をマージ (古いものは ja.po.old へ退避される)
3859

@@ -73,6 +94,8 @@ nsis/lang |Windows用インストーラーの翻訳フ
7394

7495
1. 原文manファイルの更新
7596

97+
(前述の原文ファイル取り込み手順を実施済みであれば不要。)
98+
7699
Vimのソースファイルの runtime/doc/ ディレクトリから、原文manファイルを本リ
77100
ポジトリにコピー。
78101

@@ -95,9 +118,14 @@ nsis/lang |Windows用インストーラーの翻訳フ
95118

96119
以下のコマンドでmanの文法に違反していないかチェックできる。
97120

121+
$ make test
122+
123+
ファイル単体をチェックする場合は以下のコマンドを使う。
124+
98125
$ LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z vim-ja.UTF-8.1 2>&1 > /dev/null | grep -v "cannot adjust line\|can't break line"
99126

100-
(末尾の `grep -v` は、日本語の場合に大量に表示される `cannot adjust line``can't break line` を除外するためのもの。)
127+
(末尾の `grep -v` は、日本語の場合に大量に表示される `cannot adjust line`
128+
`can't break line` を除外するためのもの。)
101129

102130
参照: <https://lintian.debian.org/tags/manpage-has-errors-from-man.html>
103131

@@ -109,6 +137,8 @@ nsis/lang |Windows用インストーラーの翻訳フ
109137

110138
1. 原文チュートリアルファイルの更新
111139

140+
(前述の原文ファイル取り込み手順を実施済みであれば不要。)
141+
112142
Vimのソースファイルの runtime/tutor/ ディレクトリから、原文チュートリアル
113143
ファイルを本リポジトリにコピー。
114144

@@ -125,6 +155,36 @@ nsis/lang |Windows用インストーラーの翻訳フ
125155

126156
原文と日本語訳は常に同じバージョンがコミットされているように注意すること。
127157

158+
## NSIS ファイル更新手順
159+
160+
1. 原文 NSIS ファイルの更新
161+
162+
(前述の原文ファイル取り込み手順を実施済みであれば不要。)
163+
164+
Vimのソースファイルの nsis/lang/ ディレクトリから、原文 NSIS ファイルを
165+
本リポジトリにコピー。
166+
167+
$ cd /path/to/vim/nsis/lang
168+
$ cp english.nsi /path/to/lang-ja/nsis/lang
169+
170+
2. 翻訳
171+
172+
原文の差分を見つつ翻訳ファイルを更新する。
173+
174+
$ git diff | gvim -R -
175+
176+
3. コミット
177+
178+
原文と日本語訳は常に同じバージョンがコミットされているように注意すること。
179+
180+
## メニューファイル更新手順
181+
182+
1. Vim のソースディレクトリに行き、`runtime/menu.vim``runtime/lang/`
183+
履歴を調べる。
184+
185+
2. 必要な変更を `runtime/lang/menu_ja*.vim` に反映する。
186+
187+
128188
## リリース手順
129189

130190
1. 各リソースが最新に近いことを確認する
@@ -158,7 +218,15 @@ nsis/lang |Windows用インストーラーの翻訳フ
158218
`vim-lang-ja-po-YYYYMMDD.tar.xz` といったアーカイブファイルができる。
159219
`YYYYMMDD` の部分は実行した日付に置き換わる。
160220

161-
5. タグを打ち、GitHub Releases を更新する
221+
5. Vim のソースディレクトリを更新する
222+
223+
GitHub に PR を出す場合は、以下のコマンドを実行して Vim のソースディレクト
224+
リを更新する。
225+
(`VIM_SRC_DIR` で Vim のソースディレクトリを指定)
226+
227+
$ make update-src-dir VIM_SRC_DIR=../vim
228+
229+
6. タグを打ち、GitHub Releases を更新する
162230

163231
タグの形式は YYYYMMDD とする。例:
164232

@@ -168,9 +236,12 @@ nsis/lang |Windows用インストーラーの翻訳フ
168236
タグが push できたら、GitHub Releases に新しいリリースを作り、アーカイブ
169237
をアップロードする。
170238

171-
6. アーカイブを Bram と vim-dev へ送る
239+
7. Bram に対してリリースする
172240

173-
あとはこのアーカイブファイルを Bram と vim-dev へ更新依頼とともに送信する。
241+
[GitHub][#github] に PR を出す。
242+
243+
あるいはこのアーカイブファイルを Bram と vim-dev へ更新依頼とともに送信す
244+
る。
174245
以下、文面の一例:
175246

176247
Hi Bram and the list,
@@ -184,8 +255,6 @@ nsis/lang |Windows用インストーラーの翻訳フ
184255
Thanks,
185256
(ここにあなたの名前。`Takata`とか)
186257

187-
あるいは [GitHub][#github] に PR を出す。
188-
189258

190259
[#ci]:https://github.com/vim-jp/lang-ja/actions
191260
[#github]:https://github.com/vim/vim

runtime/doc/Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
JA_FILES = \
2+
evim-ja.UTF-8.1 \
3+
vimdiff-ja.UTF-8.1 \
4+
vim-ja.UTF-8.1 \
5+
vimtutor-ja.UTF-8.1 \
6+
xxd-ja.UTF-8.1
7+
8+
test:
9+
for i in $(JA_FILES); do \
10+
echo Checking $$i; \
11+
LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z $$i > $$i.log 2>&1 > /dev/null; \
12+
grep -v "cannot adjust line\|can't break line" $$i.log && exit 1 || :; \
13+
done
14+
15+
clean:
16+
rm -f *.log

runtime/lang/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MASTER_MENU = menu_ja_jp.utf-8.vim
22

3-
test:
3+
test: update
44

55
update: menu_ja_jp.euc-jp.vim menu_japanese_japan.932.vim
66

0 commit comments

Comments
 (0)