Revert "Use dependency files generated by llvm-rs-cc for Java"
This reverts commit 4c474617d491fe98fa02571349138fb757959232.
Change-Id: I66c46360d0ccf927c807ddd5cfbc56cbd97ed4a2
diff --git a/core/definitions.mk b/core/definitions.mk
index 1a009fb..78b607b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -931,24 +931,6 @@
## Commands to compile RenderScript to Java
###########################################################
-## Merge multiple .d files generated by llvm-rs-cc. This is necessary
-## because ninja can handle only a single depfile per build target.
-## .d files generated by llvm-rs-cc define .stamp, .bc, and optionally
-## .java as build targets. However, there's no way to let ninja know
-## dependencies to .bc files and .java files, so we give up build
-## targets for .bc files. As we write the .stamp file as the target by
-## ourselves, the sed script removes the first two lines and append a
-## backslash to the last line to concatenate contents of multiple
-## files.
-# $(1): .d files to be merged
-# $(2): merged .d file
-define _merge-renderscript-d
-$(hide) echo '$@: $(backslash)' > $2
-$(foreach d,$1, \
- $(hide) sed -z 's/.*: \\\n//; s/\n$$/ \\\n/' $d >> $2$(newline))
-$(hide) echo >> $2
-endef
-
define transform-renderscripts-to-java-and-bc
@echo "RenderScript: $(PRIVATE_MODULE) <= $(PRIVATE_RS_SOURCE_FILES)"
$(hide) rm -rf $(PRIVATE_RS_OUTPUT_DIR)
@@ -963,8 +945,8 @@
$(PRIVATE_RS_FLAGS) \
$(foreach inc,$(PRIVATE_RS_INCLUDES),$(addprefix -I , $(inc))) \
$(PRIVATE_RS_SOURCE_FILES)
- $(call _merge-renderscript-d,$(PRIVATE_DEP_FILES),$@.d)
- $(call transform-d-to-p-args,$@.d,$@.P)
+ $(foreach d,$(PRIVATE_DEP_FILES),\
+ $(call transform-d-to-p-args,$(d),$(d:%.d=%.P))$(newline))
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
endef
@@ -987,6 +969,24 @@
## Commands to compile RenderScript to C++
###########################################################
+## Merge multiple .d files generated by llvm-rs-cc. This is necessary
+## because ninja can handle only a single depfile per build target.
+## We assume .d files start with two targets and their prerequisites
+## follow. The first line is for the stamp file and the second line is
+## for .bc file. There's no way to let ninja know dependencies to .bc
+## files, so we give up build targets for .bc files. As we write the
+## .stamp file as the target by ourselves, the sed script removes the
+## first two lines and append a backslash to the last line to
+## concatenate contents of multiple files.
+# $(1): .d files to be merged
+# $(2): merged .d file
+define _merge-renderscript-d
+$(hide) echo '$@: $(backslash)' > $2
+$(foreach d,$1, \
+ $(hide) sed '1d; 2d; s/\( \\\)\?$$/ \\/' $d >> $2$(newline))
+$(hide) echo >> $2
+endef
+
define transform-renderscripts-to-cpp-and-bc
@echo "RenderScript: $(PRIVATE_MODULE) <= $(PRIVATE_RS_SOURCE_FILES)"
$(hide) rm -rf $(PRIVATE_RS_OUTPUT_DIR)
diff --git a/core/java.mk b/core/java.mk
index c070583..a0ab4c5 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -215,7 +215,7 @@
$(transform-renderscripts-to-java-and-bc)
# include the dependency files (.d/.P) generated by llvm-rs-cc.
-$(call include-depfile,$(RenderScript_file_stamp).P,$(RenderScript_file_stamp))
+-include $(bc_dep_files:%.d=%.P)
ifneq ($(LOCAL_RENDERSCRIPT_COMPATIBILITY),)