Always run dex2oat (2 of 3)

Change-Id: I2714508cbd655adfd9c6d46b40eedabc9d83dff6
diff --git a/Android.mk b/Android.mk
index e498db0..4086c2f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -65,8 +65,8 @@
 
 ART_TARGET_DEPENDENCIES := $(ART_TARGET_EXECUTABLES) $(TARGET_OUT_JAVA_LIBRARIES)/core.jar $(TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so
 
-ART_HOST_TEST_DEPENDENCIES   := $(ART_HOST_DEPENDENCIES)   $(ART_HOST_TEST_EXECUTABLES)   $(ART_TEST_DEX_FILES) $(ART_TEST_OAT_FILES)
-ART_TARGET_TEST_DEPENDENCIES := $(ART_TARGET_DEPENDENCIES) $(ART_TARGET_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES) $(ART_TEST_OAT_FILES)
+ART_HOST_TEST_DEPENDENCIES   := $(ART_HOST_DEPENDENCIES)   $(ART_HOST_TEST_EXECUTABLES)   $(ART_TEST_DEX_FILES)
+ART_TARGET_TEST_DEPENDENCIES := $(ART_TARGET_DEPENDENCIES) $(ART_TARGET_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES)
 
 ########################################################################
 # host test targets
@@ -119,32 +119,30 @@
 	@echo test-art-target-run-test-002 PASSED
 
 ########################################################################
-# oat test targets
+# oat-target and oat-target-sync targets
 
-# $(1): jar or apk name
-define art-cache-oat
-  $(call art-cache-out,$(1).oat)
+OAT_TARGET_TARGETS :=
+
+# $(1): input jar or apk target location
+define declare-oat-target-target
+.PHONY: oat-target-$(1)
+oat-target-$(1): $(PRODUCT_OUT)/$(1) $(TARGET_BOOT_IMG_OUT) $(DEX2OAT_DEPENDENCY)
+	$(DEX2OAT) --runtime-arg -Xms64m --runtime-arg -Xmx64m --boot-image=$(TARGET_BOOT_IMG_OUT) --dex-file=$(PRODUCT_OUT)/$(1) --dex-location=$(1) --oat-file=$(call art-cache-out,$(1).oat) --host-prefix=$(PRODUCT_OUT)
+
+OAT_TARGET_TARGETS += oat-target-$(1)
 endef
 
-ART_CACHE_OATS :=
-# $(1): name
-define build-art-cache-oat
-  $(call build-art-oat,$(PRODUCT_OUT)/$(1),/$(1),$(call art-cache-oat,$(1)),$(TARGET_BOOT_IMG_OUT))
-  ART_CACHE_OATS += $(call art-cache-oat,$(1))
-endef
-
-
-########################################################################
-# oat-target-sync
-
 $(foreach file,\
   $(filter-out\
     $(TARGET_BOOT_DEX),\
     $(wildcard $(TARGET_OUT_APPS)/*.apk) $(wildcard $(TARGET_OUT_JAVA_LIBRARIES)/*.jar)),\
-  $(eval $(call build-art-cache-oat,$(subst $(PRODUCT_OUT)/,,$(file)))))
+  $(eval $(call declare-oat-target-target,$(subst $(PRODUCT_OUT)/,,$(file)))))
+
+.PHONY: oat-target
+oat-target: $(ART_TARGET_DEPENDENCIES) $(TARGET_BOOT_OAT_OUT) $(OAT_TARGET_TARGETS)
 
 .PHONY: oat-target-sync
-oat-target-sync: $(ART_TARGET_DEPENDENCIES) $(TARGET_BOOT_OAT_OUT) $(ART_CACHE_OATS)
+oat-target-sync: oat-target
 	adb remount
 	adb sync