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