Use .KATI_IMPLICIT_OUTPUTS
This makes it so the build graph properly describes which action creates
an output file.
I'm discovering these with new kati checks:
https://github.com/google/kati/pull/189
Test: treehugger
Change-Id: I369918360d9c0412f44ce8b2fb0c50d2e6c47801
diff --git a/build/Android.oat.mk b/build/Android.oat.mk
index 638436a..cc12a5a 100644
--- a/build/Android.oat.mk
+++ b/build/Android.oat.mk
@@ -79,6 +79,7 @@
$$(core_image_name): PRIVATE_CORE_IMAGE_LOCATION := $$(core_image_location)
$$(core_image_name): PRIVATE_CORE_IMG_NAME := $$(core_image_name)
$$(core_image_name): PRIVATE_CORE_OAT_NAME := $$(core_oat_name)
+$$(core_image_name): .KATI_IMPLICIT_OUTPUTS := $$(core_oat_name)
$$(core_image_name): $$(HOST_CORE_IMG_DEX_LOCATIONS) $$(core_dex2oat_dependency)
@echo "host dex2oat: $$@"
@mkdir -p $$(dir $$@)
@@ -99,8 +100,6 @@
--no-inline-from=core-oj-hostdex.jar \
$$(PRIVATE_CORE_COMPILE_OPTIONS)
-$$(core_oat_name): $$(core_image_name)
-
# Clean up locally used variables.
core_dex2oat_dependency :=
core_compile_options :=
@@ -171,6 +170,7 @@
$$(core_image_name): PRIVATE_CORE_IMAGE_LOCATION := $$(core_image_location)
$$(core_image_name): PRIVATE_CORE_IMG_NAME := $$(core_image_name)
$$(core_image_name): PRIVATE_CORE_OAT_NAME := $$(core_oat_name)
+$$(core_image_name): .KATI_IMPLICIT_OUTPUTS := $$(core_oat_name)
$$(core_image_name): $$(TARGET_CORE_IMG_DEX_FILES) $$(core_dex2oat_dependency)
@echo "target dex2oat: $$@"
@mkdir -p $$(dir $$@)
@@ -191,8 +191,6 @@
--runtime-arg -XX:SlowDebug=true \
$$(PRIVATE_CORE_COMPILE_OPTIONS)
-$$(core_oat_name): $$(core_image_name)
-
# Clean up locally used variables.
core_dex2oat_dependency :=
core_compile_options :=