blob: 2f0fc2036c5e0835df10e4e1002a33f04b0aa361 [file] [log] [blame]
Ken Wakasad5e35ac2011-12-13 19:46:15 +09001# Copyright (C) 2011 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH := $(call my-dir)
Ying Wang32f0e242012-03-29 14:57:55 -070016
17############ some local flags
18# If you change any of those flags, you need to rebuild both libjni_latinime_static
19# and the shared library.
Satoshi Kataoka3ffaf392012-06-29 12:53:34 +090020FLAG_DBG ?= false
satok1035bc92012-06-13 16:07:54 -070021FLAG_DO_PROFILE ?= false
Ying Wang32f0e242012-03-29 14:57:55 -070022
Ying Wang32f0e242012-03-29 14:57:55 -070023######################################
Ken Wakasad5e35ac2011-12-13 19:46:15 +090024include $(CLEAR_VARS)
25
Ken Wakasa3ef3e242012-03-30 09:53:51 +090026LATIN_IME_SRC_DIR := src
Ken Wakasa8fcd7692012-06-28 21:47:11 +090027LATIN_IME_SRC_FULLPATH_DIR := $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
Ken Wakasad5e35ac2011-12-13 19:46:15 +090028
Ken Wakasa8fcd7692012-06-28 21:47:11 +090029LOCAL_C_INCLUDES += $(LATIN_IME_SRC_FULLPATH_DIR) \
30 $(addprefix $(LATIN_IME_SRC_FULLPATH_DIR)/, gesture gesture/impl)
Ken Wakasad5e35ac2011-12-13 19:46:15 +090031
32LOCAL_CFLAGS += -Werror -Wall
33
34# To suppress compiler warnings for unused variables/functions used for debug features etc.
35LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
36
37LATIN_IME_JNI_SRC_FILES := \
38 com_android_inputmethod_keyboard_ProximityInfo.cpp \
39 com_android_inputmethod_latin_BinaryDictionary.cpp \
Ken Wakasae7b34b92012-06-08 19:05:47 +090040 com_android_inputmethod_latin_NativeUtils.cpp \
Ken Wakasad5e35ac2011-12-13 19:46:15 +090041 jni_common.cpp
42
43LATIN_IME_CORE_SRC_FILES := \
satok552c3c22012-03-13 16:33:47 +090044 additional_proximity_chars.cpp \
Ken Wakasad5e35ac2011-12-13 19:46:15 +090045 basechars.cpp \
46 bigram_dictionary.cpp \
47 char_utils.cpp \
48 correction.cpp \
49 dictionary.cpp \
50 proximity_info.cpp \
Satoshi Kataoka3e8c58f2012-06-05 17:55:52 +090051 proximity_info_state.cpp \
Satoshi Kataoka91eb4d82012-06-26 16:39:07 +090052 unigram_dictionary.cpp \
Ken Wakasa8658e552012-06-30 08:53:33 +090053 gesture/incremental_decoder_interface.cpp
54
55LATIN_IME_GESTURE_IMPL_SRC_FILES := \
56 gesture/impl/gesture_decoder_impl.cpp \
57 gesture/impl/incremental_decoder_impl.cpp \
58 gesture/impl/token_beam_impl.cpp \
59 gesture/impl/token_impl.cpp
Ken Wakasad5e35ac2011-12-13 19:46:15 +090060
61LOCAL_SRC_FILES := \
62 $(LATIN_IME_JNI_SRC_FILES) \
Ken Wakasa8658e552012-06-30 08:53:33 +090063 $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES)) \
64 $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_GESTURE_IMPL_SRC_FILES))
Ken Wakasad5e35ac2011-12-13 19:46:15 +090065
Ken Wakasad5e35ac2011-12-13 19:46:15 +090066ifeq ($(FLAG_DO_PROFILE), true)
Ying Wang32f0e242012-03-29 14:57:55 -070067 $(warning Making profiling version of native library)
68 LOCAL_CFLAGS += -DFLAG_DO_PROFILE
69else # FLAG_DO_PROFILE
70ifeq ($(FLAG_DBG), true)
71 $(warning Making debug version of native library)
72 LOCAL_CFLAGS += -DFLAG_DBG
73endif # FLAG_DBG
74endif # FLAG_DO_PROFILE
75
76LOCAL_MODULE := libjni_latinime_static
77LOCAL_MODULE_TAGS := optional
78
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +090079ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
Ying Wang32f0e242012-03-29 14:57:55 -070080include external/stlport/libstlport.mk
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +090081else # In the NDK build system
82LOCAL_C_INCLUDES += external/stlport/stlport bionic
83endif
84
Ying Wang32f0e242012-03-29 14:57:55 -070085include $(BUILD_STATIC_LIBRARY)
Ken Wakasa8fcd7692012-06-28 21:47:11 +090086######################################
87include $(CLEAR_VARS)
Ying Wang32f0e242012-03-29 14:57:55 -070088
Ken Wakasa8658e552012-06-30 08:53:33 +090089LOCAL_C_INCLUDES = $(LATIN_IME_SRC_FULLPATH_DIR) $(LATIN_IME_SRC_FULLPATH_DIR)/gesture
Ken Wakasa8fcd7692012-06-28 21:47:11 +090090
91LOCAL_CFLAGS += -Werror -Wall
92
93# To suppress compiler warnings for unused variables/functions used for debug features etc.
94LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
95
Ken Wakasa8658e552012-06-30 08:53:33 +090096LOCAL_SRC_FILES := \
97 $(LATIN_IME_JNI_SRC_FILES) \
98 $(addprefix $(LATIN_IME_SRC_DIR)/,$(LATIN_IME_CORE_SRC_FILES))
Ken Wakasa8fcd7692012-06-28 21:47:11 +090099
100ifeq ($(FLAG_DO_PROFILE), true)
101 $(warning Making profiling version of native library)
102 LOCAL_CFLAGS += -DFLAG_DO_PROFILE
103else # FLAG_DO_PROFILE
104ifeq ($(FLAG_DBG), true)
105 $(warning Making debug version of native library)
106 LOCAL_CFLAGS += -DFLAG_DBG
107endif # FLAG_DBG
108endif # FLAG_DO_PROFILE
109
Ken Wakasa8658e552012-06-30 08:53:33 +0900110LOCAL_MODULE := libjni_latinime_common_static
Ken Wakasa8fcd7692012-06-28 21:47:11 +0900111LOCAL_MODULE_TAGS := optional
112
113ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
114include external/stlport/libstlport.mk
115else # In the NDK build system
116LOCAL_C_INCLUDES += external/stlport/stlport bionic
117endif
118
119include $(BUILD_STATIC_LIBRARY)
Ying Wang32f0e242012-03-29 14:57:55 -0700120######################################
121include $(CLEAR_VARS)
122
123# All code in LOCAL_WHOLE_STATIC_LIBRARIES will be built into this shared library.
Ken Wakasa8658e552012-06-30 08:53:33 +0900124LOCAL_WHOLE_STATIC_LIBRARIES := libjni_latinime_static
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +0900125
126ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
Ying Wang32f0e242012-03-29 14:57:55 -0700127LOCAL_SHARED_LIBRARIES := libstlport
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +0900128else # In the NDK build system
129LOCAL_SHARED_LIBRARIES := libstlport_static
130endif
Ying Wang32f0e242012-03-29 14:57:55 -0700131
132ifeq ($(FLAG_DO_PROFILE), true)
133 $(warning Making profiling version of native library)
134 LOCAL_SHARED_LIBRARIES += libcutils libutils
135else # FLAG_DO_PROFILE
136ifeq ($(FLAG_DBG), true)
137 $(warning Making debug version of native library)
138 LOCAL_SHARED_LIBRARIES += libcutils libutils
139endif # FLAG_DBG
140endif # FLAG_DO_PROFILE
Ken Wakasad5e35ac2011-12-13 19:46:15 +0900141
Ken Wakasad5e35ac2011-12-13 19:46:15 +0900142LOCAL_MODULE := libjni_latinime
Jean-Baptiste Queru11c41212012-01-23 09:06:00 -0800143LOCAL_MODULE_TAGS := optional
Ken Wakasad5e35ac2011-12-13 19:46:15 +0900144
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +0900145ifdef HISTORICAL_NDK_VERSIONS_ROOT # In the platform build system
Ying Wang32f0e242012-03-29 14:57:55 -0700146include external/stlport/libstlport.mk
Ken Wakasa0c1a3ec2012-03-31 05:07:32 +0900147endif
148
Ken Wakasad5e35ac2011-12-13 19:46:15 +0900149include $(BUILD_SHARED_LIBRARY)
Ying Wang32f0e242012-03-29 14:57:55 -0700150
151#################### Clean up the tmp vars
152LATIN_IME_CORE_SRC_FILES :=
153LATIN_IME_JNI_SRC_FILES :=
Ken Wakasa8fcd7692012-06-28 21:47:11 +0900154LATIN_IME_GESTURE_IMPL_SRC_FILES :=
Ying Wang32f0e242012-03-29 14:57:55 -0700155LATIN_IME_SRC_DIR :=
Ken Wakasa8fcd7692012-06-28 21:47:11 +0900156LATIN_IME_SRC_FULLPATH_DIR :=