1 # Copyright 2006 The Android Open Source Project 2 # 3 LOCAL_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. 10 ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) 11 12 # the dx script 13 # ============================================================ 14 include $(CLEAR_VARS) 15 LOCAL_IS_HOST_MODULE := true 16 LOCAL_MODULE_CLASS := EXECUTABLES 17 LOCAL_MODULE_TAGS := optional 18 LOCAL_MODULE := dx 19 20 include $(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 28 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 29 30 # the mainDexClasses rules 31 # ============================================================ 32 include $(CLEAR_VARS) 33 LOCAL_IS_HOST_MODULE := true 34 LOCAL_MODULE_CLASS := EXECUTABLES 35 LOCAL_MODULE_TAGS := optional 36 LOCAL_MODULE := mainDexClasses.rules 37 38 include $(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 45 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 46 47 installed_mainDexClasses.rules := $(LOCAL_INSTALLED_MODULE) 48 49 # the mainDexClassesNoAapt rules 50 # ============================================================ 51 include $(CLEAR_VARS) 52 LOCAL_IS_HOST_MODULE := true 53 LOCAL_MODULE_CLASS := EXECUTABLES 54 LOCAL_MODULE_TAGS := optional 55 LOCAL_MODULE := mainDexClassesNoAapt.rules 56 57 include $(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 64 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 65 66 installed_mainDexClassesNoAapt.rules := $(LOCAL_INSTALLED_MODULE) 67 68 # the shrinkedAndroid jar is a library used by the mainDexClasses script 69 # ============================================================ 70 include $(CLEAR_VARS) 71 LOCAL_IS_HOST_MODULE := true 72 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 73 LOCAL_MODULE_TAGS := optional 74 LOCAL_MODULE := shrinkedAndroid 75 LOCAL_BUILT_MODULE_STEM := shrinkedAndroid.jar 76 LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) 77 78 include $(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 87 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 88 89 installed_shrinkedAndroid := $(LOCAL_INSTALLED_MODULE) 90 91 # the mainDexClasses script 92 # ============================================================ 93 include $(CLEAR_VARS) 94 LOCAL_IS_HOST_MODULE := true 95 LOCAL_MODULE_CLASS := EXECUTABLES 96 LOCAL_MODULE_TAGS := optional 97 LOCAL_MODULE := mainDexClasses 98 99 include $(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) 109 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 110 111 endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 112 113 # the dexmerger script 114 # ============================================================ 115 include $(CLEAR_VARS) 116 LOCAL_IS_HOST_MODULE := true 117 LOCAL_MODULE_CLASS := EXECUTABLES 118 LOCAL_MODULE_TAGS := optional 119 LOCAL_MODULE := dexmerger 120 121 include $(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 129 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 130 131 # the jasmin script 132 # ============================================================ 133 include $(CLEAR_VARS) 134 LOCAL_IS_HOST_MODULE := true 135 LOCAL_MODULE_CLASS := EXECUTABLES 136 LOCAL_MODULE_TAGS := optional 137 LOCAL_MODULE := jasmin 138 139 include $(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 147 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 148 149 # the jasmin lib 150 # ============================================================ 151 include $(CLEAR_VARS) 152 LOCAL_IS_HOST_MODULE := true 153 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 154 LOCAL_MODULE_TAGS := optional 155 LOCAL_MODULE := jasmin.jar 156 157 include $(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 164 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) 165 166 # the other stuff 167 # ============================================================ 168 subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ 169 junit-tests \ 170 src \ 171 )) 172 173 include $(subdirs) 174