blob: d27ee3efa6a2d783a8f80b8aceb2a02f7c18a993 [file] [log] [blame]
Brian Carlstrom7940e442013-07-12 13:46:57 -07001#
2# Copyright (C) 2011 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.executable.mk
20
21DEX2OAT_SRC_FILES := \
22 dex2oat.cc
23
Andreas Gampe5a9cef82014-04-16 15:03:11 -070024# TODO: Remove this when the framework (installd) supports pushing the
25# right instruction-set parameter for the primary architecture.
26ifneq ($(filter ro.zygote=zygote64,$(PRODUCT_DEFAULT_PROPERTY_OVERRIDES)),)
Nicolas Geoffray4a4dd702014-12-05 11:55:41 +000027 dex2oat_target_arch := 64
Andreas Gampe5a9cef82014-04-16 15:03:11 -070028else
Nicolas Geoffray4a4dd702014-12-05 11:55:41 +000029 dex2oat_target_arch := 32
30endif
31
32# We need to explcitly give the arch, as giving 'both' will make the
33# build-art-executable rule compile dex2oat for 64bits.
34ifeq ($(HOST_PREFER_32_BIT),true)
35 dex2oat_host_arch := 32
36else
37 dex2oat_host_arch := both
Andreas Gampe5a9cef82014-04-16 15:03:11 -070038endif
39
Brian Carlstrom7940e442013-07-12 13:46:57 -070040ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
Calin Juravle01aaf6e2015-06-19 22:05:39 +010041 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libart-compiler libsigchain,art/compiler,target,ndebug,$(dex2oat_target_arch)))
Brian Carlstrom7940e442013-07-12 13:46:57 -070042endif
Calin Juravle65e069d2015-06-08 10:35:24 +010043
Brian Carlstrom7940e442013-07-12 13:46:57 -070044ifeq ($(ART_BUILD_TARGET_DEBUG),true)
Calin Juravle01aaf6e2015-06-19 22:05:39 +010045 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libartd-compiler libsigchain,art/compiler,target,debug,$(dex2oat_target_arch)))
Brian Carlstrom7940e442013-07-12 13:46:57 -070046endif
47
Ian Rogersc5f17732014-06-05 20:48:42 -070048# We always build dex2oat and dependencies, even if the host build is otherwise disabled, since they are used to cross compile for the target.
Junmo Park03f92f42014-08-04 17:19:29 +090049ifeq ($(ART_BUILD_HOST_NDEBUG),true)
Calin Juravle01aaf6e2015-06-19 22:05:39 +010050 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libart-compiler libsigchain libziparchive-host,art/compiler,host,ndebug,$(dex2oat_host_arch)))
Calin Juravle65e069d2015-06-08 10:35:24 +010051 ifeq ($(ART_BUILD_HOST_STATIC),true)
52 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libart libart-compiler libart libziparchive-host libnativehelper libnativebridge libsigchain_dummy libvixl liblog libz libbacktrace libcutils libunwindbacktrace libutils libbase,art/compiler,host,ndebug,$(dex2oat_host_arch),static))
53 endif
Ian Rogersc5f17732014-06-05 20:48:42 -070054endif
Calin Juravle65e069d2015-06-08 10:35:24 +010055
Junmo Park03f92f42014-08-04 17:19:29 +090056ifeq ($(ART_BUILD_HOST_DEBUG),true)
Calin Juravle01aaf6e2015-06-19 22:05:39 +010057 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libartd-compiler libsigchain libziparchive-host,art/compiler,host,debug,$(dex2oat_host_arch)))
Calin Juravle65e069d2015-06-08 10:35:24 +010058 ifeq ($(ART_BUILD_HOST_STATIC),true)
59 $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libartd libartd-compiler libartd libziparchive-host libnativehelper libnativebridge libsigchain_dummy libvixld liblog libz libbacktrace libcutils libunwindbacktrace libutils libbase,art/compiler,host,debug,$(dex2oat_host_arch),static))
60 endif
Brian Carlstrom7940e442013-07-12 13:46:57 -070061endif