blob: dbbaacf4e14c4bb16620dfadcdadeae6b2086f8b [file] [log] [blame]
Luca Stefani902db9b2016-11-23 23:44:59 +01001
2vim_src := $(call my-dir)
3
4# ========================================================
5# etc/vimrc
6# ========================================================
7
8LOCAL_PATH := $(vim_src)
9include $(CLEAR_VARS)
10
11LOCAL_MODULE := vimrc
12LOCAL_MODULE_TAGS := eng
13LOCAL_MODULE_CLASS := ETC
14
15LOCAL_SRC_FILES := vimrc.android
16
17include $(BUILD_PREBUILT)
18
19# ========================================================
20# vim
21# ========================================================
22
23LOCAL_PATH := $(vim_src)/src
24include $(CLEAR_VARS)
25
26# vim variants: TINY SMALL CM NORMAL BIG HUGE
27#
28# NORMAL, BIG and HUGE are almost the same (1.1M)
29# TINY and SMALL are similar to busybox vi (460K)
30#
31# CM profile is between SMALL and NORMAL (780K)
32# with syntax and utf8 (mbyte) support
33#
34vim_variant := CM
35
36LOCAL_SRC_FILES := \
37 auto/pathdef.c \
38 blowfish.c \
39 buffer.c \
40 channel.c \
41 charset.c \
42 dict.c \
43 diff.c \
44 digraph.c \
45 edit.c \
46 eval.c \
47 evalfunc.c \
48 ex_cmds.c \
49 ex_cmds2.c \
50 ex_docmd.c \
51 ex_eval.c \
52 ex_getln.c \
53 fileio.c \
54 fold.c \
55 getchar.c \
56 hardcopy.c \
57 hashtab.c \
58 if_cscope.c \
59 if_xcmdsrv.c \
60 json.c \
61 list.c \
62 main.c \
63 mark.c \
64 mbyte.c \
65 memfile.c \
66 memline.c \
67 menu.c \
68 message.c \
69 misc1.c \
70 misc2.c \
71 move.c \
72 normal.c \
73 ops.c \
74 option.c \
75 os_unix.c \
76 popupmnu.c \
77 quickfix.c \
78 regexp.c \
79 screen.c \
80 search.c \
81 sha256.c \
82 spell.c \
83 syntax.c \
84 tag.c \
85 term.c \
86 ui.c \
87 undo.c \
88 userfunc.c \
89 version.c \
90 window.c
91
92# to reduce vim size, manually define wanted features
93ifeq ($(vim_variant),CM)
94 LOCAL_CFLAGS += -DFEAT_SMALL=1 -DFEAT_MBYTE=1 \
95 -DFEAT_SYN_HL=1 -DFEAT_CINDENT=1 -DFEAT_COMMENTS=1 -DFEAT_EVAL=1 -DFEAT_AUTOCMD=1 \
96 -DFEAT_USR_CMDS=1 -DFEAT_EX_EXTRA=1 -DFEAT_CMDL_COMPL=1 \
97 -DFEAT_LISTCMDS=1 -DFEAT_CMDL_INFO=1 -DFEAT_SEARCH_EXTRA=1
98ifeq ($(TARGET_IS_64_BIT), true)
99 LOCAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
100endif
101endif
102
103LOCAL_C_INCLUDES += \
104 external/libselinux/include \
105 external/libncurses/include \
106 $(LOCAL_PATH)/proto \
107 $(LOCAL_PATH)/auto
108
109LOCAL_SHARED_LIBRARIES += \
110 libselinux \
111 libncurses \
112 libm \
113 libdl
114
115LOCAL_CFLAGS += \
116 -DFEAT_$(vim_variant)=1 \
117 -DHAVE_CONFIG_H \
118 -DSYS_VIMRC_FILE=\"/system/etc/vimrc\"
119
120LOCAL_MODULE := vim
121LOCAL_MODULE_TAGS := eng
122LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
123LOCAL_REQUIRED_MODULES := vimrc
124include $(BUILD_EXECUTABLE)
125
126# ========================================================
127# vim runtime files
128# ========================================================
129ifeq (vim,$(filter vim, $(ALL_MODULES)))
130
131vim_runtime_path := $(vim_src)/runtime
132
133vim_runtime_files := \
134 scripts.vim \
135 indent.vim \
136 indoff.vim \
137 filetype.vim \
138 ftoff.vim
139
140vim_doc_files := \
141 help.txt intro.txt tags \
142 motion.txt editing.txt scroll.txt \
143 options.txt term.txt
144
145vim_colors_files := \
146 default.vim \
147 desert.vim
148
149vim_syntax_files := \
150 logcat.vim \
151 awk.vim \
152 config.vim \
153 conf.vim \
154 cpp.vim \
155 c.vim \
156 css.vim \
157 diff.vim \
158 doxygen.vim \
159 html.vim vb.vim \
160 xml.vim dtd.vim \
161 context.vim \
162 gitcommit.vim \
163 help.vim \
164 javascript.vim \
165 java.vim \
166 lua.vim \
167 manual.vim \
168 markdown.vim \
169 pod.vim \
170 sh.vim \
171 syncolor.vim \
172 synload.vim \
173 syntax.vim \
174 vim.vim
175
176vim_plugin_files := \
177 matchparen.vim \
178
179vim_autoload_files := \
180 spacehi.vim
181
182VIM_SHARED := $(TARGET_OUT)/usr/share/vim
183
184vim_runtime_files := \
185 $(vim_runtime_files) \
186 $(addprefix doc/, $(vim_doc_files)) \
187 $(addprefix colors/, $(vim_colors_files)) \
188 $(addprefix syntax/, $(vim_syntax_files)) \
189 $(addprefix plugin/, $(vim_plugin_files)) \
190 $(addprefix autoload/, $(vim_autoload_files)) \
191
192$(vim_runtime_files): $(LOCAL_BUILT_MODULE)
193 @echo "Install: $(VIM_SHARED)/$@"
194 @mkdir -p $(dir $(VIM_SHARED)/$@)
195 $(hide) cp $(vim_runtime_path)/$@ $(VIM_SHARED)/$@
196
197ALL_DEFAULT_INSTALLED_MODULES += $(vim_runtime_files)
198
199ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
200 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) \
201 $(addprefix $(VIM_SHARED)/, $(vim_runtime_files))
202
203ifneq ($(filter B wB,$(MAKEFLAGS)),)
204# Allow to push runtime files with 'mmp -B'
205vim: $(vim_runtime_files)
206 @echo "Forced install of runtime files..."
207endif
208
209endif
210
211include $(call all-makefiles-under,$(vim_src))
212