blob: 2ea132d3a71cd377708ba90f13edbcf9c1964c51 [file] [log] [blame]
Brian Carlstrom16192862011-09-12 17:50:06 -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
17DEX2OAT := $(HOST_OUT_EXECUTABLES)/dex2oat$(HOST_EXECUTABLE_SUFFIX)
18DEX2OATD := $(HOST_OUT_EXECUTABLES)/dex2oatd$(HOST_EXECUTABLE_SUFFIX)
19# TODO: for now, override with debug version for better error reporting
20DEX2OAT := $(DEX2OATD)
21
Brian Carlstrom78128a62011-09-15 17:21:19 -070022OATDUMP := $(HOST_OUT_EXECUTABLES)/oatdump$(HOST_EXECUTABLE_SUFFIX)
23OATDUMPD := $(HOST_OUT_EXECUTABLES)/oatdumpd$(HOST_EXECUTABLE_SUFFIX)
24# TODO: for now, override with debug version for better error reporting
25OATDUMP := $(OATDUMPD)
26
Brian Carlstrom16192862011-09-12 17:50:06 -070027# start of oat reserved address space
Brian Carlstrom27ec9612011-09-19 20:20:38 -070028OAT_HOST_BASE_ADDRESS := 0x60000000
29OAT_TARGET_BASE_ADDRESS := 0x60000000
Brian Carlstrom16192862011-09-12 17:50:06 -070030
Brian Carlstrom27ec9612011-09-19 20:20:38 -070031########################################################################
32# A smaller libcore only oat file
33HOST_CORE_JARS := core-hostdex
34TARGET_CORE_JARS := core
Brian Carlstrom16192862011-09-12 17:50:06 -070035
Brian Carlstrom27ec9612011-09-19 20:20:38 -070036HOST_CORE_DEX := $(foreach jar,$(HOST_CORE_JARS), $(HOST_OUT_JAVA_LIBRARIES)/$(jar).jar)
37TARGET_CORE_DEX := $(foreach jar,$(TARGET_CORE_JARS),$(TARGET_OUT_JAVA_LIBRARIES)/$(jar).jar)
Brian Carlstrom16192862011-09-12 17:50:06 -070038
Brian Carlstrom27ec9612011-09-19 20:20:38 -070039HOST_CORE_OAT := $(HOST_OUT_JAVA_LIBRARIES)/core.oat
40TARGET_CORE_OAT := $(TARGET_OUT_JAVA_LIBRARIES)/core.oat
Brian Carlstrom16192862011-09-12 17:50:06 -070041
42# TODO: change DEX2OATD to order-only prerequisite when output is stable
Brian Carlstrom27ec9612011-09-19 20:20:38 -070043$(HOST_CORE_OAT): $(HOST_CORE_DEX) $(DEX2OAT)
Brian Carlstrom16192862011-09-12 17:50:06 -070044 @echo "host dex2oat: $@ ($<)"
Brian Carlstrom27ec9612011-09-19 20:20:38 -070045 $(hide) $(DEX2OAT) -Xms16m -Xmx16m $(addprefix --dex-file=,$(filter-out $(DEX2OAT),$^)) --image=$@ --base=$(OAT_HOST_BASE_ADDRESS)
46
47# TODO: change DEX2OATD to order-only prerequisite when output is stable
48$(TARGET_CORE_OAT): $(TARGET_CORE_DEX) $(DEX2OAT)
49 @echo "target dex2oat: $@ ($<)"
50 $(hide) $(DEX2OAT) -Xms32m -Xmx32m $(addprefix --dex-file=,$(filter-out $(DEX2OAT),$^)) --image=$@ --base=$(OAT_TARGET_BASE_ADDRESS) --strip-prefix=$(PRODUCT_OUT)
51
52########################################################################
53# The full system boot classpath
54TARGET_BOOT_JARS := $(subst :, ,$(DEXPREOPT_BOOT_JARS))
55TARGET_BOOT_DEX := $(foreach jar,$(TARGET_BOOT_JARS),$(TARGET_OUT_JAVA_LIBRARIES)/$(jar).jar)
56TARGET_BOOT_OAT := $(TARGET_OUT_JAVA_LIBRARIES)/boot.oat
Brian Carlstrom16192862011-09-12 17:50:06 -070057
58# TODO: change DEX2OATD to order-only prerequisite when output is stable
59$(TARGET_BOOT_OAT): $(TARGET_BOOT_DEX) $(DEX2OAT)
60 @echo "target dex2oat: $@ ($<)"
Brian Carlstrom27ec9612011-09-19 20:20:38 -070061 $(hide) $(DEX2OAT) -Xms256m -Xmx256m $(addprefix --dex-file=,$(filter-out $(DEX2OAT),$^)) --image=$@ --base=$(OAT_TARGET_BASE_ADDRESS) --strip-prefix=$(PRODUCT_OUT)