Home | History | Annotate | Download | only in oatdump
      1 #
      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 
     17 LOCAL_PATH := $(call my-dir)
     18 
     19 include art/build/Android.executable.mk
     20 
     21 OATDUMP_SRC_FILES := \
     22 	oatdump.cc
     23 
     24 ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
     25   $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),libcutils libart-disassembler,art/disassembler,target,ndebug))
     26 endif
     27 ifeq ($(ART_BUILD_TARGET_DEBUG),true)
     28   $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),libcutils libartd-disassembler,art/disassembler,target,debug))
     29 endif
     30 
     31 ifeq ($(ART_BUILD_HOST_NDEBUG),true)
     32   $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),libart-disassembler,art/disassembler,host,ndebug))
     33 endif
     34 ifeq ($(ART_BUILD_HOST_DEBUG),true)
     35   $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),libartd-disassembler,art/disassembler,host,debug))
     36 endif
     37 
     38 ########################################################################
     39 # oatdump targets
     40 
     41 ART_DUMP_OAT_PATH ?= $(OUT_DIR)
     42 
     43 OATDUMP := $(HOST_OUT_EXECUTABLES)/oatdump$(HOST_EXECUTABLE_SUFFIX)
     44 OATDUMPD := $(HOST_OUT_EXECUTABLES)/oatdumpd$(HOST_EXECUTABLE_SUFFIX)
     45 # TODO: for now, override with debug version for better error reporting
     46 OATDUMP := $(OATDUMPD)
     47 
     48 .PHONY: dump-oat
     49 dump-oat: dump-oat-core dump-oat-boot
     50 
     51 .PHONY: dump-oat-core
     52 dump-oat-core: dump-oat-core-host dump-oat-core-target
     53 
     54 .PHONY: dump-oat-core-host
     55 ifeq ($(ART_BUILD_HOST),true)
     56 dump-oat-core-host: $(HOST_CORE_IMG_OUT) $(OATDUMP)
     57 	$(OATDUMP) --image=$(HOST_CORE_IMG_LOCATION) --output=$(ART_DUMP_OAT_PATH)/core.host.oatdump.txt
     58 	@echo Output in $(ART_DUMP_OAT_PATH)/core.host.oatdump.txt
     59 endif
     60 
     61 .PHONY: dump-oat-core-target
     62 ifeq ($(ART_BUILD_TARGET),true)
     63 dump-oat-core-target: $(TARGET_CORE_IMG_OUT) $(OATDUMP)
     64 	$(OATDUMP) --image=$(TARGET_CORE_IMG_LOCATION) \
     65 	  --output=$(ART_DUMP_OAT_PATH)/core.target.oatdump.txt --instruction-set=$(TARGET_ARCH)
     66 	@echo Output in $(ART_DUMP_OAT_PATH)/core.target.oatdump.txt
     67 endif
     68 
     69 .PHONY: dump-oat-boot-$(TARGET_ARCH)
     70 ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
     71 dump-oat-boot-$(TARGET_ARCH): $(DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME) $(OATDUMP)
     72 	$(OATDUMP) --image=$(DEFAULT_DEX_PREOPT_BUILT_IMAGE_LOCATION) \
     73 	  --output=$(ART_DUMP_OAT_PATH)/boot.$(TARGET_ARCH).oatdump.txt --instruction-set=$(TARGET_ARCH)
     74 	@echo Output in $(ART_DUMP_OAT_PATH)/boot.$(TARGET_ARCH).oatdump.txt
     75 endif
     76 
     77 ifdef TARGET_2ND_ARCH
     78 dump-oat-boot-$(TARGET_2ND_ARCH): $(2ND_DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME) $(OATDUMP)
     79 	$(OATDUMP) --image=$(2ND_DEFAULT_DEX_PREOPT_BUILT_IMAGE_LOCATION) \
     80 	  --output=$(ART_DUMP_OAT_PATH)/boot.$(TARGET_2ND_ARCH).oatdump.txt --instruction-set=$(TARGET_2ND_ARCH)
     81 	@echo Output in $(ART_DUMP_OAT_PATH)/boot.$(TARGET_2ND_ARCH).oatdump.txt
     82 endif
     83 
     84 .PHONY: dump-oat-boot
     85 dump-oat-boot: dump-oat-boot-$(TARGET_ARCH)
     86 ifdef TARGET_2ND_ARCH
     87 dump-oat-boot: dump-oat-boot-$(TARGET_2ND_ARCH)
     88 endif
     89 
     90 .PHONY: dump-oat-Calculator
     91 ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
     92 dump-oat-Calculator: $(TARGET_OUT_APPS)/Calculator.odex $(DEFAULT_DEX_PREOPT_BUILT_IMAGE) $(OATDUMP)
     93 	$(OATDUMP) --oat-file=$< --output=$(ART_DUMP_OAT_PATH)/Calculator.oatdump.txt
     94 	@echo Output in $(ART_DUMP_OAT_PATH)/Calculator.oatdump.txt
     95 endif
     96