Refine the dependency.

Change-Id: I86096114711c8bff684ed83d0731cbe6c22dd91a
diff --git a/Android.mk b/Android.mk
index a97b901..8b2f11a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -90,20 +90,21 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 
-LOCAL_ADDITIONAL_DEPENDENCIES := sha1sum
-LOCAL_REQUIRED_MODULES := libbcc sha1sum libRS
-
 CONVERT_ASM := frameworks/compile/libbcc/tools/dataconvert.py
 
 intermediates := $(local-intermediates-dir)
 libbcc_CHECKSUM_FILE := $(intermediates)/checksum.S
 LOCAL_GENERATED_SOURCES += $(libbcc_CHECKSUM_FILE)
 
-$(libbcc_CHECKSUM_FILE):$(TARGET_OUT_SHARED_LIBRARIES)/libbcc.so \
-                        $(TARGET_OUT_SHARED_LIBRARIES)/libRS.so
-	@mkdir -p $(dir $@) && \
-	  cat $^ | $(HOST_OUT_EXECUTABLES)/sha1sum | \
-	  python $(CONVERT_ASM) libbcc_checksum > $@
+libbcc_SHA1_SRCS := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libbcc.so \
+    $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRS.so
+
+$(libbcc_CHECKSUM_FILE): PRIVATE_SHA1_SRCS := $(libbcc_SHA1_SRCS)
+$(libbcc_CHECKSUM_FILE) : $(libbcc_SHA1_SRCS) \
+                          $(HOST_OUT_EXECUTABLES)/sha1sum
+	$(hide) mkdir -p $(dir $@) && \
+            cat $(PRIVATE_SHA1_SRCS) | $(HOST_OUT_EXECUTABLES)/sha1sum | \
+            python $(CONVERT_ASM) libbcc_checksum > $@
 
 include $(BUILD_SHARED_LIBRARY)
 
@@ -246,7 +247,7 @@
 endif
 
 # This makes libclcore.bc get installed if and only if the target libbcc.so is installed.
-LOCAL_REQUIRED_MODULES := libclcore.bc
+LOCAL_REQUIRED_MODULES := libclcore.bc libbcc_sha1
 
 # -Wl,--exclude-libs=ALL would hide most of the symbols in the shared library
 # and reduces the size of libbcc.so by about 800k.