Home | History | Annotate | Download | only in dx
      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