Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | # Makefile for the Vim message translations for mingw32 |
| 2 | # |
| 3 | # Eduardo F. Amatria <eferna1@platea.pntic.mec.es> |
| 4 | # |
| 5 | # Read the README_ming.txt file before using it. |
| 6 | # |
| 7 | # Use at your own risk but with care, it could even kill your canary. |
| 8 | # |
| 9 | # Previous to all you must have the environment variable LANGUAGE set to your |
| 10 | # language (xx) and add it to the next three lines. |
| 11 | # |
| 12 | |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 13 | ifndef VIMRUNTIME |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 14 | ifeq (sh.exe, $(SHELL)) |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 15 | VIMRUNTIME = ..\..\runtime |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 16 | else |
| 17 | VIMRUNTIME = ../../runtime |
| 18 | endif |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 19 | endif |
| 20 | |
Bram Moolenaar | a4a2934 | 2018-06-24 15:52:56 +0200 | [diff] [blame] | 21 | # get LANGUAGES, MOFILES and MOCONVERTED |
| 22 | include Make_all.mak |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 23 | |
| 24 | PACKAGE = vim |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 25 | ifeq (sh.exe, $(SHELL)) |
| 26 | VIM = ..\vim |
| 27 | else |
| 28 | VIM = ../vim |
| 29 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 30 | |
| 31 | # Uncomment one of the lines below or modify it to put the path to your |
| 32 | # gettex binaries; I use the first |
| 33 | #GETTEXT_PATH = C:/gettext.win32/bin/ |
| 34 | #GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/ |
| 35 | #GETTEXT_PATH = C:/cygwin/bin/ |
| 36 | |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 37 | ifeq (sh.exe, $(SHELL)) |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 38 | MSGFMT = set OLD_PO_FILE_INPUT=yes && $(GETTEXT_PATH)msgfmt -v |
| 39 | XGETTEXT = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)xgettext |
| 40 | MSGMERGE = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)msgmerge |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 41 | else |
| 42 | MSGFMT = LANG=C OLD_PO_FILE_INPUT=yes $(GETTEXT_PATH)msgfmt -v |
| 43 | XGETTEXT = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)xgettext |
| 44 | MSGMERGE = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)msgmerge |
| 45 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 46 | |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 47 | ifeq (sh.exe, $(SHELL)) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 48 | MV = move |
| 49 | CP = copy |
| 50 | RM = del |
| 51 | MKD = mkdir |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 52 | else |
| 53 | MV = mv -f |
| 54 | CP = cp -f |
| 55 | RM = rm -f |
| 56 | MKD = mkdir -p |
| 57 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 58 | |
| 59 | .SUFFIXES: |
| 60 | .SUFFIXES: .po .mo .pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 61 | .PHONY: first_time all install install-all clean $(LANGUAGES) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 62 | |
| 63 | .po.mo: |
| 64 | $(MSGFMT) -o $@ $< |
| 65 | |
Bram Moolenaar | a4a2934 | 2018-06-24 15:52:56 +0200 | [diff] [blame] | 66 | all: $(MOFILES) $(MOCONVERTED) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 67 | |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 68 | PO_INPUTLIST = \ |
| 69 | $(wildcard ../*.c) \ |
| 70 | ../if_perl.xs \ |
| 71 | ../GvimExt/gvimext.cpp \ |
| 72 | ../errors.h \ |
| 73 | ../globals.h \ |
| 74 | ../if_py_both.h \ |
| 75 | ../vim.h \ |
| 76 | gvim.desktop.in \ |
| 77 | vim.desktop.in |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 78 | |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 79 | PO_VIM_INPUTLIST = \ |
| 80 | ../../runtime/optwin.vim |
| 81 | |
| 82 | PO_VIM_JSLIST = \ |
| 83 | optwin.js |
| 84 | |
| 85 | first_time: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST) |
| 86 | $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) |
| 87 | $(XGETTEXT) --default-domain=$(LANGUAGE) \ |
| 88 | --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST) |
| 89 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) |
| 90 | $(RM) *.js |
| 91 | |
| 92 | $(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST) |
| 93 | $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 94 | $(XGETTEXT) --default-domain=$(PACKAGE) \ |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 95 | --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 96 | $(MV) $(PACKAGE).po $(PACKAGE).pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 97 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) |
| 98 | $(RM) *.js |
| 99 | |
| 100 | # Don't add a dependency here, we only want to update the .po files manually |
| 101 | $(LANGUAGES): |
| 102 | @$(MAKE) -f Make_ming.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 103 | $(CP) $@.po $@.po.orig |
| 104 | $(MV) $@.po $@.po.old |
| 105 | $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po |
| 106 | $(RM) $@.po.old |
| 107 | |
| 108 | install: |
| 109 | $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE) |
| 110 | $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES |
| 111 | $(CP) $(LANGUAGE).mo $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES\$(PACKAGE).mo |
| 112 | |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 113 | ifeq (sh.exe, $(SHELL)) |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 114 | install-all: all |
| 115 | FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l $(MKD) $(VIMRUNTIME)\lang\%%l |
| 116 | FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES |
| 117 | FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo |
Bram Moolenaar | 8889a5c | 2017-11-02 19:27:36 +0100 | [diff] [blame] | 118 | else |
| 119 | install-all: all |
| 120 | for TARGET in $(LANGUAGES); do \ |
| 121 | $(MKD) $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES ; \ |
| 122 | $(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \ |
| 123 | done |
| 124 | endif |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 125 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 126 | clean: |
| 127 | $(RM) *.mo |
| 128 | $(RM) *.pot |