1# Copyright 2006 The Android Open Source Project 2# 3LOCAL_PATH := $(call my-dir) 4 5# We use copy-file-to-new-target so that the installed 6# script files' timestamps are at least as new as the 7# .jar files they wrap. 8 9# This tool is prebuilt if we're doing an app-only build. 10ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) 11 12# the dx script 13# ============================================================ 14include $(CLEAR_VARS) 15LOCAL_IS_HOST_MODULE := true 16LOCAL_MODULE_CLASS := EXECUTABLES 17LOCAL_MODULE_TAGS := optional 18LOCAL_MODULE := dx 19 20include $(BUILD_SYSTEM)/base_rules.mk 21 22$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) 23$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/dx | $(ACP) 24 @echo "Copy: $(PRIVATE_MODULE) ($@)" 25 $(copy-file-to-new-target) 26 $(hide) chmod 755 $@ 27 28INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 29 30# the mainDexClasses rules 31# ============================================================ 32include $(CLEAR_VARS) 33LOCAL_IS_HOST_MODULE := true 34LOCAL_MODULE_CLASS := EXECUTABLES 35LOCAL_MODULE_TAGS := optional 36LOCAL_MODULE := mainDexClasses.rules 37 38include $(BUILD_SYSTEM)/base_rules.mk 39 40$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) 41$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses.rules | $(ACP) 42 @echo "Copy: $(PRIVATE_MODULE) ($@)" 43 $(copy-file-to-new-target) 44 45INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 46 47installed_mainDexClasses.rules := $(LOCAL_INSTALLED_MODULE) 48 49# the mainDexClassesNoAapt rules 50# ============================================================ 51include $(CLEAR_VARS) 52LOCAL_IS_HOST_MODULE := true 53LOCAL_MODULE_CLASS := EXECUTABLES 54LOCAL_MODULE_TAGS := optional 55LOCAL_MODULE := mainDexClassesNoAapt.rules 56 57include $(BUILD_SYSTEM)/base_rules.mk 58 59$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) 60$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClassesNoAapt.rules | $(ACP) 61 @echo "Copy: $(PRIVATE_MODULE) ($@)" 62 $(copy-file-to-new-target) 63 64INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 65 66installed_mainDexClassesNoAapt.rules := $(LOCAL_INSTALLED_MODULE) 67 68# the shrinkedAndroid jar is a library used by the mainDexClasses script 69# ============================================================ 70include $(CLEAR_VARS) 71LOCAL_IS_HOST_MODULE := true 72LOCAL_MODULE_CLASS := JAVA_LIBRARIES 73LOCAL_MODULE_TAGS := optional 74LOCAL_MODULE := shrinkedAndroid 75LOCAL_BUILT_MODULE_STEM := shrinkedAndroid.jar 76LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) 77 78include $(BUILD_SYSTEM)/base_rules.mk 79 80$(LOCAL_BUILT_MODULE): PRIVATE_PROGUARD_FLAGS:= \ 81 -include $(addprefix $(LOCAL_PATH)/, shrinkedAndroid.proguard.flags) 82$(LOCAL_BUILT_MODULE): $(call java-lib-files,android_stubs_current) \ 83 $(addprefix $(LOCAL_PATH)/, shrinkedAndroid.proguard.flags)| $(PROGUARD) 84 @echo Proguard: $@ 85 $(hide) $(PROGUARD) -injars "$<(**/*.class)" -outjars $@ $(PRIVATE_PROGUARD_FLAGS) 86 87INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 88 89installed_shrinkedAndroid := $(LOCAL_INSTALLED_MODULE) 90 91# the mainDexClasses script 92# ============================================================ 93include $(CLEAR_VARS) 94LOCAL_IS_HOST_MODULE := true 95LOCAL_MODULE_CLASS := EXECUTABLES 96LOCAL_MODULE_TAGS := optional 97LOCAL_MODULE := mainDexClasses 98 99include $(BUILD_SYSTEM)/base_rules.mk 100 101$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) 102$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses | $(ACP) 103 @echo "Copy: $(PRIVATE_MODULE) ($@)" 104 $(copy-file-to-new-target) 105 $(hide) chmod 755 $@ 106 107$(LOCAL_INSTALLED_MODULE): | $(installed_shrinkedAndroid) $(installed_mainDexClasses.rules) \ 108 $(installed_mainDexClassesNoAapt.rules) 109INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 110 111endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 112 113# the dexmerger script 114# ============================================================ 115include $(CLEAR_VARS) 116LOCAL_IS_HOST_MODULE := true 117LOCAL_MODULE_CLASS := EXECUTABLES 118LOCAL_MODULE_TAGS := optional 119LOCAL_MODULE := dexmerger 120 121include $(BUILD_SYSTEM)/base_rules.mk 122 123$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) 124$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/dexmerger | $(ACP) 125 @echo "Copy: $(PRIVATE_MODULE) ($@)" 126 $(copy-file-to-new-target) 127 $(hide) chmod 755 $@ 128 129INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 130 131# the jasmin script 132# ============================================================ 133include $(CLEAR_VARS) 134LOCAL_IS_HOST_MODULE := true 135LOCAL_MODULE_CLASS := EXECUTABLES 136LOCAL_MODULE_TAGS := optional 137LOCAL_MODULE := jasmin 138 139include $(BUILD_SYSTEM)/base_rules.mk 140 141$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/jasmin.jar 142$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/jasmin | $(ACP) 143 @echo "Copy: $(PRIVATE_MODULE) ($@)" 144 $(copy-file-to-new-target) 145 $(hide) chmod 755 $@ 146 147INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 148 149# the jasmin lib 150# ============================================================ 151include $(CLEAR_VARS) 152LOCAL_IS_HOST_MODULE := true 153LOCAL_MODULE_CLASS := JAVA_LIBRARIES 154LOCAL_MODULE_TAGS := optional 155LOCAL_MODULE := jasmin.jar 156 157include $(BUILD_SYSTEM)/base_rules.mk 158 159$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/jasmin.jar | $(ACP) 160 @echo "Copy: $(PRIVATE_MODULE) ($@)" 161 $(copy-file-to-target) 162 $(hide) chmod 644 $@ 163 164INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 165 166# the other stuff 167# ============================================================ 168subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ 169 junit-tests \ 170 src \ 171 )) 172 173include $(subdirs) 174