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 | 167fb6d | 2023-05-23 15:27:51 +0100 | [diff] [blame] | 13 | # get LANGUAGES, MOFILES, MOCONVERTED and others |
Bram Moolenaar | a4a2934 | 2018-06-24 15:52:56 +0200 | [diff] [blame] | 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 | |
Bram Moolenaar | 167fb6d | 2023-05-23 15:27:51 +0100 | [diff] [blame] | 56 | files: $(PO_INPUTLIST) |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 57 | $(LS) $(LSFLAGS) $(PO_INPUTLIST) > .\files |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 58 | |
| 59 | first_time: files |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 60 | $(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] | 61 | set OLD_PO_FILE_INPUT=yes |
| 62 | set OLD_PO_FILE_OUTPUT=yes |
Bram Moolenaar | a1d5f9f | 2023-05-27 13:40:11 +0100 | [diff] [blame] | 63 | $(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments $(XGETTEXT_KEYWORDS) --files-from=.\files $(PO_VIM_JSLIST) |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 64 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST) |
| 65 | $(RM) *.js |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 66 | |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 67 | $(PACKAGE).pot: files |
| 68 | $(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] | 69 | set OLD_PO_FILE_INPUT=yes |
| 70 | set OLD_PO_FILE_OUTPUT=yes |
Bram Moolenaar | a1d5f9f | 2023-05-27 13:40:11 +0100 | [diff] [blame] | 71 | $(XGETTEXT) --default-domain=$(PACKAGE) --add-comments $(XGETTEXT_KEYWORDS) --files-from=.\files $(PO_VIM_JSLIST) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 72 | $(MV) $(PACKAGE).po $(PACKAGE).pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 73 | $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST) |
| 74 | $(RM) *.js |
| 75 | |
| 76 | # Don't add a dependency here, we only want to update the .po files manually |
| 77 | $(LANGUAGES): |
| 78 | @$(MAKE) -nologo -f Make_mvc.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 79 | $(CP) $@.po $@.po.orig |
| 80 | $(MV) $@.po $@.po.old |
| 81 | $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po |
| 82 | $(RM) $@.po.old |
| 83 | |
| 84 | install: |
| 85 | if not exist $(INSTALLDIR) $(MKD) $(INSTALLDIR) |
| 86 | $(CP) $(LANGUAGE).mo $(INSTALLDIR)\$(PACKAGE).mo |
| 87 | |
Bram Moolenaar | 0138062 | 2015-12-29 16:04:42 +0100 | [diff] [blame] | 88 | install-all: all |
| 89 | FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES |
| 90 | FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo |
| 91 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 92 | clean: |
| 93 | $(RM) *.mo |
| 94 | $(RM) *.pot |
Bram Moolenaar | fa57335 | 2020-09-04 13:53:00 +0200 | [diff] [blame] | 95 | $(RM) files |