forked from openkylin/platform_build
Improved nothing-to-do-build
- Removed unnecessary dependency of "$(my_symlink) : $(LOCAL_INSTALLED_MODULE)" We can generate symlink to nonexistent file. Actually in multilib build $(LOCAL_INSTALLED_MODULE) points to file that may not be the target file of the symlink and leads to always obsolete $(my_symlink) in the above dependnecy. - Touch by-product in the dummy rule, to make sure the by-product is newer than the main-product. Change-Id: I2f0e0cc197c49f920fa1f6794083b21cdc333c20
This commit is contained in:
parent
7a9e388405
commit
e25b3984ff
|
@ -483,6 +483,7 @@ rs_generated_cpps := $(addprefix \
|
|||
# This is just a dummy rule to make sure gmake doesn't skip updating the dependents.
|
||||
$(rs_generated_cpps) : $(RenderScript_file_stamp)
|
||||
@echo "Updated RS generated cpp file $@."
|
||||
$(hide) touch $@
|
||||
|
||||
my_c_includes += $(renderscript_intermediate)
|
||||
my_generated_sources += $(rs_generated_cpps)
|
||||
|
@ -535,6 +536,7 @@ $(proto_generated_cc_sources): $(proto_generated_cc_sources_dir)/%.pb.cc: %.prot
|
|||
# This is just a dummy rule to make sure gmake doesn't skip updating the dependents.
|
||||
$(proto_generated_headers): $(proto_generated_cc_sources_dir)/%.pb.h: $(proto_generated_cc_sources_dir)/%.pb.cc
|
||||
@echo "Updated header file $@."
|
||||
$(hide) touch $@
|
||||
|
||||
$(my_prefix)_$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined := true
|
||||
endif # transform-proto-to-cc rule included only once
|
||||
|
|
|
@ -39,7 +39,10 @@ $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
|
|||
endif
|
||||
endif
|
||||
|
||||
$(my_symlink): $(LOCAL_INSTALLED_MODULE) $(LOCAL_MODULE_MAKEFILE)
|
||||
# $(my_symlink) doesn't need to depend on $(PRIVATE_SRC_BINARY_NAME): we can generate symlink to nonexistent file.
|
||||
# If you add the dependency, make would compare the timestamp of a file against that of its symlink:
|
||||
# they are always equal, because make follows symlink.
|
||||
$(my_symlink): $(LOCAL_MODULE_MAKEFILE)
|
||||
@echo "Symlink: $@ -> $(PRIVATE_SRC_BINARY_NAME)"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
|
|
|
@ -133,11 +133,11 @@ $(built_dex): $(java_sources) $(java_resource_sources) $(full_jack_lib_deps) \
|
|||
@echo Building with Jack: $@
|
||||
$(jack-java-to-dex)
|
||||
|
||||
# The empty command was added because, without it, make misses the fact the $(built_dex) also
|
||||
# change $(full_classes_jack). Looks like it would test the date before running $(built_dex)
|
||||
# command.
|
||||
# $(full_classes_jack) is just by-product of $(built_dex).
|
||||
# The dummy command was added because, without it, make misses the fact the $(built_dex) also
|
||||
# change $(full_classes_jack).
|
||||
$(full_classes_jack): $(built_dex)
|
||||
@echo
|
||||
$(hide) touch $@
|
||||
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
|
||||
$(LOCAL_BUILT_MODULE): $(built_dex) $(java_resource_sources)
|
||||
|
|
|
@ -611,13 +611,12 @@ $(built_dex_intermediate): $(jack_all_deps)
|
|||
@echo Building with Jack: $@
|
||||
$(jack-java-to-dex)
|
||||
|
||||
# The empty command was added because, without it, make misses the fact the $(built_dex) also
|
||||
# change $(full_classes_jack). Looks like it would test the date before running $(built_dex)
|
||||
# command.
|
||||
# $(full_classes_jack) is just by-product of $(built_dex_intermediate).
|
||||
# The dummy command was added because, without it, make misses the fact the $(built_dex) also
|
||||
# change $(full_classes_jack).
|
||||
$(full_classes_jack): $(built_dex_intermediate)
|
||||
@echo
|
||||
$(hide) touch $@
|
||||
|
||||
# nothing to do it's built as a side effect of $(built_dex_intermediate)
|
||||
endif #LOCAL_IS_STATIC_JAVA_LIBRARY
|
||||
|
||||
$(noshrob_classes_jack): PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-noshrob-rsc
|
||||
|
|
Loading…
Reference in New Issue