1 # Makefile for the Vim message translations.
3 # TODO make this configurable
4 # Note: ja.sjis, *.cp1250 and zh_CN.cp936 are only for MS-Windows, they are
5 # not installed on Unix
110 # The OLD_PO_FILE_INPUT and OLD_PO_FILE_OUTPUT are for the new GNU gettext
111 # tools 0.10.37, which use a slightly different .po file format that is not
112 # compatible with Solaris (and old gettext implementations) unless these are
113 # set. gettext 0.10.36 will not work!
114 MSGFMT
= OLD_PO_FILE_INPUT
=yes msgfmt
-v
115 XGETTEXT
= OLD_PO_FILE_INPUT
=yes OLD_PO_FILE_OUTPUT
=yes xgettext
116 MSGMERGE
= OLD_PO_FILE_INPUT
=yes OLD_PO_FILE_OUTPUT
=yes msgmerge
119 .SUFFIXES
: .po .mo .pot .ck
120 .PHONY
: all install uninstall prefixcheck converted
check clean checkclean
distclean update-po
$(LANGUAGES
)
126 $(VIM
) -u NONE
-e
-S
check.vim
-c
"if error == 0 | q | endif" -c cq
$<
135 for lang in
$(LANGUAGES
); do \
136 dir=$(LOCALEDIR
)/$$lang/; \
137 if
test ! -x
"$$dir"; then \
138 mkdir
$$dir; chmod
755 $$dir; \
140 dir=$(LOCALEDIR
)/$$lang/LC_MESSAGES
; \
141 if
test ! -x
"$$dir"; then \
142 mkdir
$$dir; chmod
755 $$dir; \
144 if
test -r
$$lang.mo
; then \
145 $(INSTALL_DATA
) $$lang.mo
$$dir/$(PACKAGE
).mo
; \
146 chmod
$(FILEMOD
) $$dir/$(PACKAGE
).mo
; \
152 for cat in
$(MOFILES
); do \
153 cat
=`basename $$cat`; \
154 lang
=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
155 rm -f
$(LOCALEDIR
)/$$lang/LC_MESSAGES
/$(PACKAGE
).mo
; \
158 converted
: $(CONVERTED
)
160 # Convert ja.po to create ja.sjis.po. Requires doubling backslashes in the
161 # second byte. Don't depend on sjiscorr, it should only be compiled when
162 # ja.sjis.po is outdated.
166 iconv
-f euc-jp
-t cp932 ja.po | .
/sjiscorr
> ja.sjis.po
169 $(CC
) -o sjiscorr sjiscorr.c
171 # Convert cs.po to create cs.cp1250.po.
174 iconv
-f iso-8859-2
-t cp1250 cs.po | \
175 sed
-e
's/charset=ISO-8859-2/charset=cp1250/' -e
's/# Original translations/# Generated from cs.po, DO NOT EDIT/' > cs.cp1250.po
177 # Convert pl.po to create pl.cp1250.po.
180 iconv
-f iso-8859-2
-t cp1250 pl.po | \
181 sed
-e
's/charset=ISO-8859-2/charset=cp1250/' -e
's/# Original translations/# Generated from pl.po, DO NOT EDIT/' > pl.cp1250.po
183 # Convert pl.po to create pl.UTF-8.po.
186 iconv
-f iso-8859-2
-t utf-8 pl.po | \
187 sed
-e
's/charset=ISO-8859-2/charset=utf-8/' -e
's/# Original translations/# Generated from pl.po, DO NOT EDIT/' > pl.UTF-8.po
189 # Convert sk.po to create sk.cp1250.po.
192 iconv
-f iso-8859-2
-t cp1250 sk.po | \
193 sed
-e
's/charset=ISO-8859-2/charset=cp1250/' -e
's/# Original translations/# Generated from sk.po, DO NOT EDIT/' > sk.cp1250.po
195 # Convert zh_CN.po to create zh_CN.cp936.po.
196 # set 'charset' to gbk to avoid that msfmt generates a warning
197 zh_CN.cp936.po
: zh_CN.po
199 iconv
-f gb2312
-t cp936 zh_CN.po | \
200 sed
-e
's/charset=gb2312/charset=gbk/' -e
's/# Original translations/# Generated from zh_CN.po, DO NOT EDIT/' > zh_CN.cp936.po
202 # Convert ru.po to create ru.cp1251.po.
205 iconv
-f utf-8
-t cp1251 ru.po | \
206 sed
-e
's/charset=utf-8/charset=cp1251/' -e
's/# Original translations/# Generated from ru.po, DO NOT EDIT/' > ru.cp1251.po
208 # Convert uk.po to create uk.cp1251.po.
211 iconv
-f utf-8
-t cp1251 uk.po | \
212 sed
-e
's/charset=utf-8/charset=cp1251/' -e
's/# Original translations/# Generated from uk.po, DO NOT EDIT/' > uk.cp1251.po
215 @if
test "x" = "x$(prefix)"; then \
216 echo
"******************************************"; \
217 echo
" please use make from the src directory "; \
218 echo
"******************************************"; \
223 rm -f core core.
* *.old.po
*.mo
*.pot sjiscorr
231 # NOTE: If you get an error for gvimext.cpp not found, you need to unpack the
234 $(PACKAGE
).pot
: ..
/*.c ..
/if_perl.xs ..
/GvimExt
/gvimext.
cpp ..
/globals.h
235 cd ..
; $(XGETTEXT
) --default-domain
=$(PACKAGE
) \
236 --add-comments
--keyword
=_
--keyword
=N_ \
237 *.c if_perl.xs GvimExt
/gvimext.
cpp globals.h
238 mv
-f ..
/$(PACKAGE
).po
$(PACKAGE
).pot
240 update-po
: $(LANGUAGES
)
242 # Don't add a dependency here, we only want to update the .po files manually
244 @
$(MAKE
) $(PACKAGE
).pot
245 if
test ! -f
$@.po.orig
; then cp
$@.po
$@.po.orig
; fi
247 if
$(MSGMERGE
) $@.po.old
$(PACKAGE
).pot
-o
$@.po
; then \
250 echo
"msgmerge for $@.po failed!"; mv
$@.po.old
$@.po
; \