1185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# Copyright (C) 2014 The Android Open Source Project
2185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel#
3185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# Licensed under the Apache License, Version 2.0 (the "License");
4185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# you may not use this file except in compliance with the License.
5185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# You may obtain a copy of the License at
6185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel#
7185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel#      http://www.apache.org/licenses/LICENSE-2.0
8185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel#
9185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# Unless required by applicable law or agreed to in writing, software
10185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# distributed under the License is distributed on an "AS IS" BASIS,
11185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# See the License for the specific language governing permissions and
13185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel# limitations under the License.
14185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
15185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_PATH:= $(call my-dir)
16185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
17185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
18185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel## The application with a minimal main dex
19185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Rousselinclude $(CLEAR_VARS)
20185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
21185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
22185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_MODULE_TAGS := tests
23185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
24185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_SRC_FILES := $(call all-java-files-under, src)
25185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
26185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_SDK_VERSION := current
27185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
28185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_PACKAGE_NAME := MultiDexLegacyTestApp
29185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
30bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann RousselLOCAL_DEX_PREOPT := false
31bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
32185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselmainDexList:= \
33185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
34185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
35185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList) --minimal-main-dex
36248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann RousselLOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
37248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Roussel    -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
38bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
39bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel#################################
40bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselinclude $(BUILD_SYSTEM)/configure_local_jack.mk
41bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel#################################
42bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
43bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselifdef LOCAL_JACK_ENABLED
44248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann RousselLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
45248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Rousselendif
46185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
47185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Rousselinclude $(BUILD_PACKAGE)
48185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
49bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselifndef LOCAL_JACK_ENABLED
50b4ff8e481579bcd6bca41499bc53b476c0bbc429Colin Cross$(mainDexList): $(full_classes_proguard_jar) | $(MAINDEXCLASSES)
51248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Roussel	$(hide) mkdir -p $(dir $@)
52b4ff8e481579bcd6bca41499bc53b476c0bbc429Colin Cross	$(MAINDEXCLASSES) $< 1>$@
53185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel	echo "com/android/multidexlegacytestapp/Test.class" >> $@
54185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
55185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel$(built_dex_intermediate): $(mainDexList)
56f50a51fb4c8d5ca973ce910a21bddf9f8466cb51Yohann Rousselendif
57185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
58185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel## The application with a full main dex
59185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Rousselinclude $(CLEAR_VARS)
60185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
61185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
62185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
63185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_MODULE_TAGS := tests
64185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
65185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_SRC_FILES := $(call all-java-files-under, src)
66185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
67185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_SDK_VERSION := current
68185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
69185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_PACKAGE_NAME := MultiDexLegacyTestApp2
70185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
71bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann RousselLOCAL_DEX_PREOPT := false
72bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
73185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselmainDexList2:= \
74185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
75185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
76185a7e38bc58abd341445ef9acdec9a4722a6946Yohann RousselLOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList2)
77248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann RousselLOCAL_JACK_FLAGS := -D jack.dex.output.policy=multidex -D jack.preprocessor=true\
78248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Roussel    -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
79bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
80bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel#################################
81bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselinclude $(BUILD_SYSTEM)/configure_local_jack.mk
82bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel#################################
83bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Roussel
84bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselifdef LOCAL_JACK_ENABLED
85248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann RousselLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
86248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Rousselendif
87185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
88185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Rousselinclude $(BUILD_PACKAGE)
89185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
90bf5ad8d9943c0e1b0b3f1b4524c277f369065d08Yohann Rousselifndef LOCAL_JACK_ENABLED
91b4ff8e481579bcd6bca41499bc53b476c0bbc429Colin Cross$(mainDexList2): $(full_classes_proguard_jar) | $(MAINDEXCLASSES)
92248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cfYohann Roussel	$(hide) mkdir -p $(dir $@)
93b4ff8e481579bcd6bca41499bc53b476c0bbc429Colin Cross	$(MAINDEXCLASSES) $< 1>$@
94185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel	echo "com/android/multidexlegacytestapp/Test.class" >> $@
95185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel
96185a7e38bc58abd341445ef9acdec9a4722a6946Yohann Roussel$(built_dex_intermediate): $(mainDexList2)
97f50a51fb4c8d5ca973ce910a21bddf9f8466cb51Yohann Rousselendif