blob: aa19306c65cf154310ecd84944ddd7c97146a3b3 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001# 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 Moolenaar01380622015-12-29 16:04:42 +010013ifndef VIMRUNTIME
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010014ifeq (sh.exe, $(SHELL))
Bram Moolenaar01380622015-12-29 16:04:42 +010015VIMRUNTIME = ..\..\runtime
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010016else
17VIMRUNTIME = ../../runtime
18endif
Bram Moolenaar01380622015-12-29 16:04:42 +010019endif
20
Bram Moolenaara4a29342018-06-24 15:52:56 +020021# get LANGUAGES, MOFILES and MOCONVERTED
22include Make_all.mak
Bram Moolenaar071d4272004-06-13 20:20:40 +000023
24PACKAGE = vim
25
26# Uncomment one of the lines below or modify it to put the path to your
27# gettex binaries; I use the first
28#GETTEXT_PATH = C:/gettext.win32/bin/
29#GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/
30#GETTEXT_PATH = C:/cygwin/bin/
31
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010032ifeq (sh.exe, $(SHELL))
Bram Moolenaar01380622015-12-29 16:04:42 +010033MSGFMT = set OLD_PO_FILE_INPUT=yes && $(GETTEXT_PATH)msgfmt -v
34XGETTEXT = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)xgettext
35MSGMERGE = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)msgmerge
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010036else
37MSGFMT = LANG=C OLD_PO_FILE_INPUT=yes $(GETTEXT_PATH)msgfmt -v
38XGETTEXT = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)xgettext
39MSGMERGE = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)msgmerge
40endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010042ifeq (sh.exe, $(SHELL))
Bram Moolenaar071d4272004-06-13 20:20:40 +000043MV = move
44CP = copy
45RM = del
46MKD = mkdir
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010047else
48MV = mv -f
49CP = cp -f
50RM = rm -f
51MKD = mkdir -p
52endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
54.SUFFIXES:
55.SUFFIXES: .po .mo .pot
56.PHONY: first_time all install clean $(LANGUAGES)
57
58.po.mo:
59 $(MSGFMT) -o $@ $<
60
Bram Moolenaara4a29342018-06-24 15:52:56 +020061all: $(MOFILES) $(MOCONVERTED)
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
63first_time:
64 $(XGETTEXT) --default-domain=$(LANGUAGE) \
Bram Moolenaarc36651b2018-04-29 12:22:56 +020065 --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
67$(LANGUAGES):
68 $(XGETTEXT) --default-domain=$(PACKAGE) \
Bram Moolenaarc36651b2018-04-29 12:22:56 +020069 --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
Bram Moolenaar071d4272004-06-13 20:20:40 +000070 $(MV) $(PACKAGE).po $(PACKAGE).pot
71 $(CP) $@.po $@.po.orig
72 $(MV) $@.po $@.po.old
73 $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po
74 $(RM) $@.po.old
75
76install:
77 $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)
78 $(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
79 $(CP) $(LANGUAGE).mo $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES\$(PACKAGE).mo
80
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010081ifeq (sh.exe, $(SHELL))
Bram Moolenaar01380622015-12-29 16:04:42 +010082install-all: all
83 FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l $(MKD) $(VIMRUNTIME)\lang\%%l
84 FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES
85 FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo
Bram Moolenaar8889a5c2017-11-02 19:27:36 +010086else
87install-all: all
88 for TARGET in $(LANGUAGES); do \
89 $(MKD) $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES ; \
90 $(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \
91 done
92endif
Bram Moolenaar01380622015-12-29 16:04:42 +010093
Bram Moolenaar071d4272004-06-13 20:20:40 +000094clean:
95 $(RM) *.mo
96 $(RM) *.pot
97
98