diff options
Diffstat (limited to 'src/po/Make_ming.mak')
-rw-r--r-- | src/po/Make_ming.mak | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak new file mode 100644 index 0000000..5e9428f --- /dev/null +++ b/src/po/Make_ming.mak @@ -0,0 +1,128 @@ +# Makefile for the Vim message translations for mingw32 +# +# Eduardo F. Amatria <eferna1@platea.pntic.mec.es> +# +# Read the README_ming.txt file before using it. +# +# Use at your own risk but with care, it could even kill your canary. +# +# Previous to all you must have the environment variable LANGUAGE set to your +# language (xx) and add it to the next three lines. +# + +ifndef VIMRUNTIME +ifeq (sh.exe, $(SHELL)) +VIMRUNTIME = ..\..\runtime +else +VIMRUNTIME = ../../runtime +endif +endif + +# get LANGUAGES, MOFILES and MOCONVERTED +include Make_all.mak + +PACKAGE = vim +ifeq (sh.exe, $(SHELL)) +VIM = ..\vim +else +VIM = ../vim +endif + +# Uncomment one of the lines below or modify it to put the path to your +# gettex binaries; I use the first +#GETTEXT_PATH = C:/gettext.win32/bin/ +#GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/ +#GETTEXT_PATH = C:/cygwin/bin/ + +ifeq (sh.exe, $(SHELL)) +MSGFMT = set OLD_PO_FILE_INPUT=yes && $(GETTEXT_PATH)msgfmt -v +XGETTEXT = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)xgettext +MSGMERGE = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)msgmerge +else +MSGFMT = LANG=C OLD_PO_FILE_INPUT=yes $(GETTEXT_PATH)msgfmt -v +XGETTEXT = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)xgettext +MSGMERGE = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)msgmerge +endif + +ifeq (sh.exe, $(SHELL)) +MV = move +CP = copy +RM = del +MKD = mkdir +else +MV = mv -f +CP = cp -f +RM = rm -f +MKD = mkdir -p +endif + +.SUFFIXES: +.SUFFIXES: .po .mo .pot +.PHONY: first_time all install install-all clean $(LANGUAGES) + +.po.mo: + $(MSGFMT) -o $@ $< + +all: $(MOFILES) $(MOCONVERTED) + +PO_INPUTLIST = \ + $(wildcard ../*.c) \ + ../if_perl.xs \ + ../GvimExt/gvimext.cpp \ + ../errors.h \ + ../globals.h \ + ../if_py_both.h \ + ../vim.h \ + gvim.desktop.in \ + vim.desktop.in + +PO_VIM_INPUTLIST = \ + ../../runtime/optwin.vim + +PO_VIM_JSLIST = \ + optwin.js + +first_time: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST) + $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) + $(XGETTEXT) --default-domain=$(LANGUAGE) \ + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST) + $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) + $(RM) *.js + +$(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST) + $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) + $(XGETTEXT) --default-domain=$(PACKAGE) \ + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST) + $(MV) $(PACKAGE).po $(PACKAGE).pot + $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) + $(RM) *.js + +# Don't add a dependency here, we only want to update the .po files manually +$(LANGUAGES): + @$(MAKE) -f Make_ming.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH) + $(CP) $@.po $@.po.orig + $(MV) $@.po $@.po.old + $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po + $(RM) $@.po.old + +install: + $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE) + $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES + $(CP) $(LANGUAGE).mo $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES\$(PACKAGE).mo + +ifeq (sh.exe, $(SHELL)) +install-all: all + FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l $(MKD) $(VIMRUNTIME)\lang\%%l + FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES + FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo +else +install-all: all + for TARGET in $(LANGUAGES); do \ + $(MKD) $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES ; \ + $(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \ + done +endif + +clean: + $(RM) *.mo + $(RM) *.pot |