From b931956076b93f055ba5a6bc3f848443d57d84b0 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Fri, 3 Apr 2015 16:15:28 -0700 Subject: [PATCH] Convert bc depfiles to .P files. So you don't need clean step when a header file gets moved or deleted. Change-Id: Iec0d63b89ba17c4ef0ad75f4a52b6759f2bff58a --- core/binary.mk | 10 ++++++---- core/definitions.mk | 4 ++++ core/java.mk | 11 ++++++----- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/core/binary.mk b/core/binary.mk index 15d5d1e5c..69131c3b5 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -451,18 +451,20 @@ ifneq ($(LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE),) renderscript_includes := $(LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE) endif +bc_dep_files := $(addprefix $(renderscript_intermediate)/, \ + $(patsubst %.fs,%.d, $(patsubst %.rs,%.d, $(notdir $(renderscript_sources))))) + $(RenderScript_file_stamp): PRIVATE_RS_INCLUDES := $(renderscript_includes) $(RenderScript_file_stamp): PRIVATE_RS_CC := $(LOCAL_RENDERSCRIPT_CC) $(RenderScript_file_stamp): PRIVATE_RS_FLAGS := $(renderscript_flags) $(RenderScript_file_stamp): PRIVATE_RS_SOURCE_FILES := $(renderscript_sources_fullpath) $(RenderScript_file_stamp): PRIVATE_RS_OUTPUT_DIR := $(renderscript_intermediate) +$(RenderScript_file_stamp): PRIVATE_DEP_FILES := $(bc_dep_files) $(RenderScript_file_stamp): $(renderscript_sources_fullpath) $(LOCAL_RENDERSCRIPT_CC) $(transform-renderscripts-to-cpp-and-bc) -# include the dependency files (.d) generated by llvm-rs-cc. -renderscript_generated_dep_files := $(addprefix $(renderscript_intermediate)/, \ - $(patsubst %.fs,%.d, $(patsubst %.rs,%.d, $(notdir $(renderscript_sources))))) --include $(renderscript_generated_dep_files) +# include the dependency files (.d/.P) generated by llvm-rs-cc. +-include $(bc_dep_files:%.d=%.P) LOCAL_INTERMEDIATE_TARGETS += $(RenderScript_file_stamp) diff --git a/core/definitions.mk b/core/definitions.mk index 25f667f90..2cdd3f588 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -871,6 +871,8 @@ $(hide) $(PRIVATE_RS_CC) \ $(PRIVATE_RS_FLAGS) \ $(foreach inc,$(PRIVATE_RS_INCLUDES),$(addprefix -I , $(inc))) \ $(PRIVATE_RS_SOURCE_FILES) + $(foreach d,$(PRIVATE_DEP_FILES),\ + $(call transform-d-to-p-args,$(d),$(d:%.d=%.P))$(newline)) $(hide) mkdir -p $(dir $@) $(hide) touch $@ endef @@ -905,6 +907,8 @@ $(hide) $(PRIVATE_RS_CC) \ $(PRIVATE_RS_FLAGS) \ $(addprefix -I , $(PRIVATE_RS_INCLUDES)) \ $(PRIVATE_RS_SOURCE_FILES) + $(foreach d,$(PRIVATE_DEP_FILES),\ + $(call transform-d-to-p-args,$(d),$(d:%.d=%.P))$(newline)) $(hide) mkdir -p $(dir $@) $(hide) touch $@ endef diff --git a/core/java.mk b/core/java.mk index 55aa79b20..fc4703c45 100644 --- a/core/java.mk +++ b/core/java.mk @@ -180,6 +180,9 @@ ifneq ($(LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE),) LOCAL_RENDERSCRIPT_INCLUDES := $(LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE) endif +bc_files := $(patsubst %.fs,%.bc, $(patsubst %.rs,%.bc, $(notdir $(renderscript_sources)))) +bc_dep_files := $(addprefix $(renderscript_intermediate.COMMON)/,$(patsubst %.bc,%.d,$(bc_files))) + $(RenderScript_file_stamp): PRIVATE_RS_INCLUDES := $(LOCAL_RENDERSCRIPT_INCLUDES) $(RenderScript_file_stamp): PRIVATE_RS_CC := $(LOCAL_RENDERSCRIPT_CC) $(RenderScript_file_stamp): PRIVATE_RS_FLAGS := $(renderscript_flags) @@ -188,16 +191,14 @@ $(RenderScript_file_stamp): PRIVATE_RS_SOURCE_FILES := $(renderscript_sources_fu # automatically found by the java compiling function transform-java-to-classes.jar. $(RenderScript_file_stamp): PRIVATE_RS_OUTPUT_DIR := $(renderscript_intermediate.COMMON) $(RenderScript_file_stamp): PRIVATE_RS_TARGET_API := $(renderscript_target_api) +$(RenderScript_file_stamp): PRIVATE_DEP_FILES := $(bc_dep_files) $(RenderScript_file_stamp): $(renderscript_sources_fullpath) $(LOCAL_RENDERSCRIPT_CC) $(transform-renderscripts-to-java-and-bc) -# include the dependency files (.d) generated by llvm-rs-cc. -renderscript_generated_dep_files := $(addprefix $(renderscript_intermediate.COMMON)/, \ - $(patsubst %.fs,%.d, $(patsubst %.rs,%.d, $(notdir $(renderscript_sources))))) --include $(renderscript_generated_dep_files) +# include the dependency files (.d/.P) generated by llvm-rs-cc. +-include $(bc_dep_files:%.d=%.P) ifneq ($(LOCAL_RENDERSCRIPT_COMPATIBILITY),) -bc_files := $(patsubst %.fs,%.bc, $(patsubst %.rs,%.bc, $(notdir $(renderscript_sources)))) ifeq ($(filter $(RSCOMPAT_32BIT_ONLY_API_LEVELS),$(renderscript_target_api)),) -- 2.11.0