blob: c154eb6346078338121dbd4917f177b4b4f975bb [file] [log] [blame]
Phil Wang751beff2015-08-28 15:17:15 +08001#
2# Copyright (C) 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19include art/build/Android.common_build.mk
20
21LIBART_SIMULATOR_SRC_FILES := \
22 code_simulator.cc \
23 code_simulator_arm64.cc
24
25# $(1): target or host
26# $(2): ndebug or debug
27define build-libart-simulator
28 ifneq ($(1),target)
29 ifneq ($(1),host)
30 $$(error expected target or host for argument 1, received $(1))
31 endif
32 endif
33 ifneq ($(2),ndebug)
34 ifneq ($(2),debug)
35 $$(error expected ndebug or debug for argument 2, received $(2))
36 endif
37 endif
38
39 art_target_or_host := $(1)
40 art_ndebug_or_debug := $(2)
41
42 include $(CLEAR_VARS)
43 ifeq ($$(art_target_or_host),host)
44 LOCAL_IS_HOST_MODULE := true
45 endif
46 LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
47 ifeq ($$(art_ndebug_or_debug),ndebug)
48 LOCAL_MODULE := libart-simulator
49 else # debug
50 LOCAL_MODULE := libartd-simulator
51 endif
52
53 LOCAL_MODULE_TAGS := optional
54 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
55
56 LOCAL_SRC_FILES := $$(LIBART_SIMULATOR_SRC_FILES)
57
58 ifeq ($$(art_target_or_host),target)
59 $(call set-target-local-clang-vars)
60 $(call set-target-local-cflags-vars,$(2))
61 else # host
62 LOCAL_CLANG := $(ART_HOST_CLANG)
63 LOCAL_LDLIBS := $(ART_HOST_LDLIBS)
64 LOCAL_CFLAGS += $(ART_HOST_CFLAGS)
65 LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS)
66 ifeq ($$(art_ndebug_or_debug),debug)
67 LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
68 else
69 LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
70 endif
71 endif
72
73 LOCAL_SHARED_LIBRARIES += liblog
74 ifeq ($$(art_ndebug_or_debug),debug)
75 LOCAL_SHARED_LIBRARIES += libartd
76 else
77 LOCAL_SHARED_LIBRARIES += libart
78 endif
79
80 LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
81 LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
82 LOCAL_MULTILIB := both
83
84 LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
85 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
86 LOCAL_NATIVE_COVERAGE := $(ART_COVERAGE)
87 # For simulator_arm64.
88 ifeq ($$(art_ndebug_or_debug),debug)
89 LOCAL_SHARED_LIBRARIES += libvixld
90 else
91 LOCAL_SHARED_LIBRARIES += libvixl
92 endif
93 ifeq ($$(art_target_or_host),target)
94 include $(BUILD_SHARED_LIBRARY)
95 else # host
96 include $(BUILD_HOST_SHARED_LIBRARY)
97 endif
98endef
99
100ifeq ($(ART_BUILD_HOST_NDEBUG),true)
101 $(eval $(call build-libart-simulator,host,ndebug))
102endif
103ifeq ($(ART_BUILD_HOST_DEBUG),true)
104 $(eval $(call build-libart-simulator,host,debug))
105endif