OSDN Git Service

Merge changes Ie3d5e176,Ic1fbb885,I10bafcff
[android-x86/art.git] / tools / ahat / Android.mk
1 #
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
17 LOCAL_PATH := $(call my-dir)
18
19 include art/build/Android.common_path.mk
20
21 # --- ahat.jar ----------------
22 include $(CLEAR_VARS)
23 LOCAL_SRC_FILES := $(call all-java-files-under, src)
24 LOCAL_JAR_MANIFEST := src/manifest.txt
25 LOCAL_JAVA_RESOURCE_FILES := \
26   $(LOCAL_PATH)/src/style.css
27
28 LOCAL_STATIC_JAVA_LIBRARIES := perflib-prebuilt guavalib trove-prebuilt
29 LOCAL_IS_HOST_MODULE := true
30 LOCAL_MODULE_TAGS := optional
31 LOCAL_MODULE := ahat
32
33 # Let users with Java 7 run ahat (b/28303627)
34 LOCAL_JAVA_LANGUAGE_VERSION := 1.7
35
36 include $(BUILD_HOST_JAVA_LIBRARY)
37
38 # --- ahat script ----------------
39 include $(CLEAR_VARS)
40 LOCAL_IS_HOST_MODULE := true
41 LOCAL_MODULE_CLASS := EXECUTABLES
42 LOCAL_MODULE := ahat
43 LOCAL_SRC_FILES := ahat
44 include $(BUILD_PREBUILT)
45
46 # --- ahat-tests.jar --------------
47 include $(CLEAR_VARS)
48 LOCAL_SRC_FILES := $(call all-java-files-under, test)
49 LOCAL_JAR_MANIFEST := test/manifest.txt
50 LOCAL_STATIC_JAVA_LIBRARIES := ahat junit-host
51 LOCAL_IS_HOST_MODULE := true
52 LOCAL_MODULE_TAGS := tests
53 LOCAL_MODULE := ahat-tests
54 include $(BUILD_HOST_JAVA_LIBRARY)
55 AHAT_TEST_JAR := $(LOCAL_BUILT_MODULE)
56
57 # Rule to generate the proguard configuration for the test-dump program.
58 # We copy the configuration to the intermediates directory because jack will
59 # output the proguard map in that same directory.
60 AHAT_TEST_DUMP_PROGUARD_CONFIG := $(intermediates.COMMON)/config.pro
61 AHAT_TEST_DUMP_PROGUARD_MAP := $(intermediates.COMMON)/proguard.map
62 $(AHAT_TEST_DUMP_PROGUARD_CONFIG): PRIVATE_AHAT_PROGUARD_CONFIG_IN := $(LOCAL_PATH)/test-dump/config.pro
63 $(AHAT_TEST_DUMP_PROGUARD_CONFIG): PRIVATE_AHAT_PROGUARD_CONFIG := $(AHAT_TEST_DUMP_PROGUARD_CONFIG)
64 $(AHAT_TEST_DUMP_PROGUARD_CONFIG): $(LOCAL_PATH)/test-dump/config.pro
65         cp $(PRIVATE_AHAT_PROGUARD_CONFIG_IN) $(PRIVATE_AHAT_PROGUARD_CONFIG)
66
67 # --- ahat-test-dump.jar --------------
68 include $(CLEAR_VARS)
69 LOCAL_MODULE := ahat-test-dump
70 LOCAL_MODULE_TAGS := tests
71 LOCAL_SRC_FILES := $(call all-java-files-under, test-dump)
72 LOCAL_ADDITIONAL_DEPENDENCIES := $(AHAT_TEST_DUMP_PROGUARD_CONFIG)
73 LOCAL_JACK_FLAGS := --config-proguard $(AHAT_TEST_DUMP_PROGUARD_CONFIG)
74 include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
75
76 # Determine the location of the test-dump.jar and test-dump.hprof files.
77 # These use variables set implicitly by the include of
78 # BUILD_HOST_DALVIK_JAVA_LIBRARY above.
79 AHAT_TEST_DUMP_JAR := $(LOCAL_BUILT_MODULE)
80 AHAT_TEST_DUMP_HPROF := $(intermediates.COMMON)/test-dump.hprof
81 AHAT_TEST_DUMP_BASE_HPROF := $(intermediates.COMMON)/test-dump-base.hprof
82
83 # Run ahat-test-dump.jar to generate test-dump.hprof and test-dump-base.hprof
84 AHAT_TEST_DUMP_DEPENDENCIES := \
85   $(ART_HOST_EXECUTABLES) \
86   $(ART_HOST_SHARED_LIBRARY_DEPENDENCIES) \
87   $(HOST_OUT_EXECUTABLES)/art \
88   $(HOST_CORE_IMG_OUT_BASE)$(CORE_IMG_SUFFIX)
89
90 $(AHAT_TEST_DUMP_HPROF): PRIVATE_AHAT_TEST_ART := $(HOST_OUT_EXECUTABLES)/art
91 $(AHAT_TEST_DUMP_HPROF): PRIVATE_AHAT_TEST_DUMP_JAR := $(AHAT_TEST_DUMP_JAR)
92 $(AHAT_TEST_DUMP_HPROF): PRIVATE_AHAT_TEST_DUMP_DEPENDENCIES := $(AHAT_TEST_DUMP_DEPENDENCIES)
93 $(AHAT_TEST_DUMP_HPROF): $(AHAT_TEST_DUMP_JAR) $(AHAT_TEST_DUMP_DEPENDENCIES)
94         $(PRIVATE_AHAT_TEST_ART) -cp $(PRIVATE_AHAT_TEST_DUMP_JAR) Main $@
95
96 $(AHAT_TEST_DUMP_BASE_HPROF): PRIVATE_AHAT_TEST_ART := $(HOST_OUT_EXECUTABLES)/art
97 $(AHAT_TEST_DUMP_BASE_HPROF): PRIVATE_AHAT_TEST_DUMP_JAR := $(AHAT_TEST_DUMP_JAR)
98 $(AHAT_TEST_DUMP_BASE_HPROF): PRIVATE_AHAT_TEST_DUMP_DEPENDENCIES := $(AHAT_TEST_DUMP_DEPENDENCIES)
99 $(AHAT_TEST_DUMP_BASE_HPROF): $(AHAT_TEST_DUMP_JAR) $(AHAT_TEST_DUMP_DEPENDENCIES)
100         $(PRIVATE_AHAT_TEST_ART) -cp $(PRIVATE_AHAT_TEST_DUMP_JAR) Main $@ --base
101
102 .PHONY: ahat-test
103 ahat-test: PRIVATE_AHAT_TEST_DUMP_HPROF := $(AHAT_TEST_DUMP_HPROF)
104 ahat-test: PRIVATE_AHAT_TEST_DUMP_BASE_HPROF := $(AHAT_TEST_DUMP_BASE_HPROF)
105 ahat-test: PRIVATE_AHAT_TEST_JAR := $(AHAT_TEST_JAR)
106 ahat-test: PRIVATE_AHAT_PROGUARD_MAP := $(AHAT_TEST_DUMP_PROGUARD_MAP)
107 ahat-test: $(AHAT_TEST_JAR) $(AHAT_TEST_DUMP_HPROF) $(AHAT_TEST_DUMP_BASE_HPROF)
108         java -enableassertions -Dahat.test.dump.hprof=$(PRIVATE_AHAT_TEST_DUMP_HPROF) -Dahat.test.dump.base.hprof=$(PRIVATE_AHAT_TEST_DUMP_BASE_HPROF) -Dahat.test.dump.map=$(PRIVATE_AHAT_PROGUARD_MAP) -jar $(PRIVATE_AHAT_TEST_JAR)
109
110 # Clean up local variables.
111 AHAT_TEST_DUMP_DEPENDENCIES :=
112 AHAT_TEST_DUMP_HPROF :=
113 AHAT_TEST_DUMP_JAR :=
114 AHAT_TEST_DUMP_PROGUARD_CONFIG :=
115 AHAT_TEST_DUMP_PROGUARD_MAP :=
116 AHAT_TEST_JAR :=
117