Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | # Makefile for the Vim message translations for MSVC |
| 2 | # (based on make_ming.mak) |
| 3 | # |
| 4 | # Mike Williams <mrw@eandem.co.uk> |
| 5 | # |
| 6 | # Please read README_mvc.txt before using this file. |
| 7 | # |
| 8 | |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 9 | !ifndef VIMRUNTIME |
| 10 | VIMRUNTIME = ..\..\runtime |
| 11 | !endif |
| 12 | |
Bram Moolenaar | a4a2934 | 2018-06-24 15:52:56 +0200 | [diff] [blame] | 13 | # get LANGUAGES, MOFILES and MOCONVERTED |
| 14 | !include Make_all.mak |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 15 | |
| 16 | PACKAGE = vim |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 17 | VIM = ..\vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 18 | |
Bram Moolenaar | 4131773 | 2010-08-02 21:43:29 +0200 | [diff] [blame] | 19 | # Correct the following line for the directory where gettext et al is installed |
| 20 | GETTEXT_PATH = H:\gettext.0.14.4\bin |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 21 | |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 22 | MSGFMT = $(GETTEXT_PATH)\msgfmt -v |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 23 | XGETTEXT = $(GETTEXT_PATH)\xgettext |
| 24 | MSGMERGE = $(GETTEXT_PATH)\msgmerge |
| 25 | |
| 26 | MV = move |
| 27 | CP = copy |
| 28 | RM = del |
| 29 | MKD = mkdir |
| 30 | LS = dir |
| 31 | |
| 32 | LSFLAGS = /b /on /l /s |
| 33 | |
| 34 | INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES |
| 35 | |
| 36 | .SUFFIXES: |
| 37 | .SUFFIXES: .po .mo .pot |
| 38 | |
| 39 | .po.mo: |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 40 | set OLD_PO_FILE_INPUT=yes |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 41 | $(MSGFMT) -o $@ $< |
| 42 | |
Bram Moolenaar | a4a2934 | 2018-06-24 15:52:56 +0200 | [diff] [blame] | 43 | all: $(MOFILES) $(MOCONVERTED) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 44 | |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 45 | PO_INPUTLIST = \ |
| 46 | ..\*.c \ |
| 47 | ..\if_perl.xs \ |
| 48 | ..\GvimExt\gvimext.cpp \ |
| 49 | ..\errors.h \ |
| 50 | ..\globals.h \ |
| 51 | ..\if_py_both.h \ |
| 52 | ..\vim.h \ |
| 53 | gvim.desktop.in \ |
| 54 | vim.desktop.in |
| 55 | |
| 56 | PO_VIM_INPUTLIST = \ |
| 57 | ..\..\runtime\optwin.vim |
| 58 | |
| 59 | PO_VIM_JSLIST = \ |
| 60 | optwin.js |
| 61 | |
| 62 | files: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST) |
| 63 | $(LS) $(LSFLAGS) $(PO_INPUTLIST) > .\files |
| 64 | echo $(PO_VIM_JSLIST)>> .\files |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 65 | |
| 66 | first_time: files |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 67 | $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 68 | set OLD_PO_FILE_INPUT=yes |
| 69 | set OLD_PO_FILE_OUTPUT=yes |
Bram Moolenaar | 228de1d | 2018-03-14 20:11:12 +0100 | [diff] [blame] | 70 | $(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 --files-from=.\files |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 71 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) |
| 72 | $(RM) *.js |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 73 | |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 74 | $(PACKAGE).pot: files |
| 75 | $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 76 | set OLD_PO_FILE_INPUT=yes |
| 77 | set OLD_PO_FILE_OUTPUT=yes |
Bram Moolenaar | 228de1d | 2018-03-14 20:11:12 +0100 | [diff] [blame] | 78 | $(XGETTEXT) --default-domain=$(PACKAGE) --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 --files-from=.\files |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 79 | $(MV) $(PACKAGE).po $(PACKAGE).pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 80 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) |
| 81 | $(RM) *.js |
| 82 | |
| 83 | # Don't add a dependency here, we only want to update the .po files manually |
| 84 | $(LANGUAGES): |
| 85 | @$(MAKE) -nologo -f Make_mvc.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 86 | $(CP) $@.po $@.po.orig |
| 87 | $(MV) $@.po $@.po.old |
| 88 | $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po |
| 89 | $(RM) $@.po.old |
| 90 | |
| 91 | install: |
| 92 | if not exist $(INSTALLDIR) $(MKD) $(INSTALLDIR) |
| 93 | $(CP) $(LANGUAGE).mo $(INSTALLDIR)\$(PACKAGE).mo |
| 94 | |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 95 | install-all: all |
| 96 | FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES |
| 97 | FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo |
| 98 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 99 | clean: |
| 100 | $(RM) *.mo |
| 101 | $(RM) *.pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame^] | 102 | $(RM) files |