Loading core/binary.mk +44 −51 Original line number Diff line number Diff line Loading @@ -656,59 +656,57 @@ endif ## Compile the .proto files to .cc (or .c) and then to .o ########################################################### proto_sources := $(filter %.proto,$(my_src_files)) proto_generated_objects := proto_generated_headers := ifneq ($(proto_sources),) proto_generated_sources_dir := $(generated_sources_dir)/proto proto_generated_obj_dir := $(intermediates)/proto proto_gen_dir := $(generated_sources_dir)/proto proto_sources_fullpath := $(addprefix $(LOCAL_PATH)/, $(proto_sources)) my_rename_cpp_ext := ifneq (,$(filter nanopb-c nanopb-c-enable_malloc, $(LOCAL_PROTOC_OPTIMIZE_TYPE))) my_proto_source_suffix := .c my_proto_c_includes := external/nanopb-c my_protoc_flags := --nanopb_out=$(proto_generated_sources_dir) \ my_protoc_flags := --nanopb_out=$(proto_gen_dir) \ --plugin=external/nanopb-c/generator/protoc-gen-nanopb my_protoc_deps := $(NANOPB_SRCS) $(proto_sources_fullpath:%.proto=%.options) else my_proto_source_suffix := .cc my_proto_source_suffix := $(LOCAL_CPP_EXTENSION) ifneq ($(my_proto_source_suffix),.cc) # aprotoc is hardcoded to write out only .cc file. # We need to rename the extension to $(LOCAL_CPP_EXTENSION) if it's not .cc. my_rename_cpp_ext := true endif my_proto_c_includes := external/protobuf/src my_cflags += -DGOOGLE_PROTOBUF_NO_RTTI my_protoc_flags := --cpp_out=$(proto_generated_sources_dir) my_protoc_flags := --cpp_out=$(proto_gen_dir) my_protoc_deps := endif my_proto_c_includes += $(proto_generated_sources_dir) my_proto_c_includes += $(proto_gen_dir) proto_generated_sources := $(addprefix $(proto_generated_sources_dir)/, \ proto_generated_cpps := $(addprefix $(proto_gen_dir)/, \ $(patsubst %.proto,%.pb$(my_proto_source_suffix),$(proto_sources_fullpath))) proto_generated_headers := $(patsubst %.pb$(my_proto_source_suffix),%.pb.h, $(proto_generated_sources)) proto_generated_objects := $(addprefix $(proto_generated_obj_dir)/, \ $(patsubst %.proto,%.pb.o,$(proto_sources_fullpath))) $(call track-src-file-obj,$(proto_sources),$(proto_generated_objects)) # Ensure the transform-proto-to-cc rule is only defined once in multilib build. ifndef $(my_prefix)_$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined $(proto_generated_sources): PRIVATE_PROTO_INCLUDES := $(TOP) $(proto_generated_sources): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS) $(my_protoc_flags) $(proto_generated_sources): $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix): %.proto $(my_protoc_deps) $(PROTOC) ifndef $(my_host)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined $(proto_generated_cpps): PRIVATE_PROTO_INCLUDES := $(TOP) $(proto_generated_cpps): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS) $(my_protoc_flags) $(proto_generated_cpps): PRIVATE_RENAME_CPP_EXT := $(my_rename_cpp_ext) $(proto_generated_cpps): $(proto_gen_dir)/%.pb$(my_proto_source_suffix): %.proto $(my_protoc_deps) $(PROTOC) $(transform-proto-to-cc) # This is just a dummy rule to make sure gmake doesn't skip updating the dependents. $(proto_generated_headers): $(proto_generated_sources_dir)/%.pb.h: $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix) @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 $(proto_generated_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(proto_generated_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(proto_generated_objects): $(proto_generated_obj_dir)/%.o: $(proto_generated_sources_dir)/%$(my_proto_source_suffix) $(proto_generated_headers) ifeq ($(my_proto_source_suffix),.c) $(transform-$(PRIVATE_HOST)c-to-o) else $(transform-$(PRIVATE_HOST)cpp-to-o) $(my_host)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined := true endif $(call include-depfiles-for-objs, $(proto_generated_objects)) # Ideally we can generate the source directly into $(intermediates). # But many Android.mks assume the .pb.hs are in $(generated_sources_dir). # As a workaround, we make a copy in the $(intermediates). proto_intermediate_dir := $(intermediates)/proto proto_intermediate_cpps := $(patsubst $(proto_gen_dir)/%,$(proto_intermediate_dir)/%,\ $(proto_generated_cpps)) $(proto_intermediate_cpps) : $(proto_intermediate_dir)/% : $(proto_gen_dir)/% @echo "Copy: $@" $(copy-file-to-target) $(hide) cp $(basename $<).h $(basename $@).h $(call track-src-file-gen,$(proto_sources),$(proto_intermediate_cpps)) my_generated_sources += $(proto_intermediate_cpps) my_c_includes += $(my_proto_c_includes) # Auto-export the generated proto source dir. Loading Loading @@ -926,7 +924,7 @@ $(call track-src-file-obj,$(patsubst %,%.arm,$(cpp_arm_sources)),$(cpp_arm_objec dotdot_arm_objects := $(foreach s,$(dotdot_arm_sources),\ $(eval $(call compile-dotdot-cpp-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_arm_objects))) $(call track-src-file-obj,$(patsubst %,%.arm,$(dotdot_arm_sources)),$(dotdot_arm_objects)) Loading @@ -934,7 +932,7 @@ dotdot_sources := $(filter ../%$(LOCAL_CPP_EXTENSION),$(my_src_files)) dotdot_objects := $(foreach s,$(dotdot_sources),\ $(eval $(call compile-dotdot-cpp-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_objects))) $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects)) Loading @@ -952,7 +950,6 @@ cpp_objects := $(cpp_arm_objects) $(cpp_normal_objects) ifneq ($(strip $(cpp_objects)),) $(cpp_objects): $(intermediates)/%.o: \ $(TOPDIR)$(LOCAL_PATH)/%$(LOCAL_CPP_EXTENSION) \ $(yacc_cpps) $(proto_generated_headers) \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(cpp_objects)) Loading @@ -974,8 +971,7 @@ ifneq ($(strip $(gen_cpp_objects)),) $(gen_cpp_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_cpp_objects): $(intermediates)/%.o: \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) $(yacc_cpps) \ $(proto_generated_headers) \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(gen_cpp_objects)) Loading Loading @@ -1030,7 +1026,7 @@ $(call track-src-file-obj,$(patsubst %,%.arm,$(c_arm_sources)),$(c_arm_objects)) dotdot_arm_objects := $(foreach s,$(dotdot_arm_sources),\ $(eval $(call compile-dotdot-c-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_arm_objects))) $(call track-src-file-obj,$(patsubst %,%.arm,$(dotdot_arm_sources)),$(dotdot_arm_objects)) Loading @@ -1038,7 +1034,7 @@ dotdot_sources := $(filter ../%.c, $(my_src_files)) dotdot_objects := $(foreach s, $(dotdot_sources),\ $(eval $(call compile-dotdot-c-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_objects))) $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects)) Loading @@ -1054,7 +1050,7 @@ $(dotdot_objects) $(c_normal_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cf c_objects := $(c_arm_objects) $(c_normal_objects) ifneq ($(strip $(c_objects)),) $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c $(yacc_cpps) $(proto_generated_headers) \ $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(c_objects)) Loading @@ -1075,7 +1071,7 @@ ifneq ($(strip $(gen_c_objects)),) # TODO: support compiling certain generated files as arm. $(gen_c_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c $(yacc_cpps) $(proto_generated_headers) \ $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(gen_c_objects)) Loading @@ -1090,7 +1086,7 @@ objc_objects := $(addprefix $(intermediates)/,$(objc_sources:.m=.o)) $(call track-src-file-obj,$(objc_sources),$(objc_objects)) ifneq ($(strip $(objc_objects)),) $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m $(yacc_cpps) $(proto_generated_headers) \ $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)m-to-o) $(call include-depfiles-for-objs, $(objc_objects)) Loading @@ -1105,7 +1101,7 @@ objcpp_objects := $(addprefix $(intermediates)/,$(objcpp_sources:.mm=.o)) $(call track-src-file-obj,$(objcpp_sources),$(objcpp_objects)) ifneq ($(strip $(objcpp_objects)),) $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm $(yacc_cpps) $(proto_generated_headers) \ $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)mm-to-o) $(call include-depfiles-for-objs, $(objcpp_objects)) Loading Loading @@ -1235,8 +1231,7 @@ normal_objects := \ $(c_objects) \ $(gen_c_objects) \ $(objc_objects) \ $(objcpp_objects) \ $(proto_generated_objects) $(objcpp_objects) new_order_normal_objects := $(foreach f,$(my_src_files),$(my_src_file_obj_$(f))) new_order_normal_objects += $(foreach f,$(my_gen_src_files),$(my_src_file_obj_$(f))) Loading Loading @@ -1517,11 +1512,9 @@ export_include_deps += $(strip \ $(foreach l,$(LOCAL_EXPORT_STATIC_LIBRARY_HEADERS), \ $(call intermediates-dir-for,STATIC_LIBRARIES,$(l),$(LOCAL_IS_HOST_MODULE),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))/export_includes)) $(export_includes): PRIVATE_REEXPORTED_INCLUDES := $(export_include_deps) # Make sure .pb.h are already generated before any dependent source files get compiled. # Similarly, the generated DBus headers need to exist before we export their location. # People are not going to consume the aidl generated cpp file, but the cpp file is # generated after the headers, so this is a convenient way to ensure the headers exist. $(export_includes) : $(proto_generated_headers) $(dbus_generated_headers) $(aidl_gen_cpp) $(export_include_deps) $(vts_gen_cpp) # By adding $(my_generated_sources) it makes sure the headers get generated # before any dependent source files get compiled. $(export_includes) : $(my_generated_sources) $(export_include_deps) @echo Export includes file: $< -- $@ $(hide) mkdir -p $(dir $@) && rm -f $@.tmp && touch $@.tmp ifdef my_export_c_include_dirs Loading core/definitions.mk +3 −0 Original line number Diff line number Diff line Loading @@ -1152,6 +1152,9 @@ $(hide) $(PROTOC) \ $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \ $(PRIVATE_PROTOC_FLAGS) \ $< @# aprotoc outputs only .cc. Rename it to .cpp if necessary. $(if $(PRIVATE_RENAME_CPP_EXT),\ $(hide) mv $(basename $@).cc $@) endef Loading Loading
core/binary.mk +44 −51 Original line number Diff line number Diff line Loading @@ -656,59 +656,57 @@ endif ## Compile the .proto files to .cc (or .c) and then to .o ########################################################### proto_sources := $(filter %.proto,$(my_src_files)) proto_generated_objects := proto_generated_headers := ifneq ($(proto_sources),) proto_generated_sources_dir := $(generated_sources_dir)/proto proto_generated_obj_dir := $(intermediates)/proto proto_gen_dir := $(generated_sources_dir)/proto proto_sources_fullpath := $(addprefix $(LOCAL_PATH)/, $(proto_sources)) my_rename_cpp_ext := ifneq (,$(filter nanopb-c nanopb-c-enable_malloc, $(LOCAL_PROTOC_OPTIMIZE_TYPE))) my_proto_source_suffix := .c my_proto_c_includes := external/nanopb-c my_protoc_flags := --nanopb_out=$(proto_generated_sources_dir) \ my_protoc_flags := --nanopb_out=$(proto_gen_dir) \ --plugin=external/nanopb-c/generator/protoc-gen-nanopb my_protoc_deps := $(NANOPB_SRCS) $(proto_sources_fullpath:%.proto=%.options) else my_proto_source_suffix := .cc my_proto_source_suffix := $(LOCAL_CPP_EXTENSION) ifneq ($(my_proto_source_suffix),.cc) # aprotoc is hardcoded to write out only .cc file. # We need to rename the extension to $(LOCAL_CPP_EXTENSION) if it's not .cc. my_rename_cpp_ext := true endif my_proto_c_includes := external/protobuf/src my_cflags += -DGOOGLE_PROTOBUF_NO_RTTI my_protoc_flags := --cpp_out=$(proto_generated_sources_dir) my_protoc_flags := --cpp_out=$(proto_gen_dir) my_protoc_deps := endif my_proto_c_includes += $(proto_generated_sources_dir) my_proto_c_includes += $(proto_gen_dir) proto_generated_sources := $(addprefix $(proto_generated_sources_dir)/, \ proto_generated_cpps := $(addprefix $(proto_gen_dir)/, \ $(patsubst %.proto,%.pb$(my_proto_source_suffix),$(proto_sources_fullpath))) proto_generated_headers := $(patsubst %.pb$(my_proto_source_suffix),%.pb.h, $(proto_generated_sources)) proto_generated_objects := $(addprefix $(proto_generated_obj_dir)/, \ $(patsubst %.proto,%.pb.o,$(proto_sources_fullpath))) $(call track-src-file-obj,$(proto_sources),$(proto_generated_objects)) # Ensure the transform-proto-to-cc rule is only defined once in multilib build. ifndef $(my_prefix)_$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined $(proto_generated_sources): PRIVATE_PROTO_INCLUDES := $(TOP) $(proto_generated_sources): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS) $(my_protoc_flags) $(proto_generated_sources): $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix): %.proto $(my_protoc_deps) $(PROTOC) ifndef $(my_host)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined $(proto_generated_cpps): PRIVATE_PROTO_INCLUDES := $(TOP) $(proto_generated_cpps): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS) $(my_protoc_flags) $(proto_generated_cpps): PRIVATE_RENAME_CPP_EXT := $(my_rename_cpp_ext) $(proto_generated_cpps): $(proto_gen_dir)/%.pb$(my_proto_source_suffix): %.proto $(my_protoc_deps) $(PROTOC) $(transform-proto-to-cc) # This is just a dummy rule to make sure gmake doesn't skip updating the dependents. $(proto_generated_headers): $(proto_generated_sources_dir)/%.pb.h: $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix) @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 $(proto_generated_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(proto_generated_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(proto_generated_objects): $(proto_generated_obj_dir)/%.o: $(proto_generated_sources_dir)/%$(my_proto_source_suffix) $(proto_generated_headers) ifeq ($(my_proto_source_suffix),.c) $(transform-$(PRIVATE_HOST)c-to-o) else $(transform-$(PRIVATE_HOST)cpp-to-o) $(my_host)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined := true endif $(call include-depfiles-for-objs, $(proto_generated_objects)) # Ideally we can generate the source directly into $(intermediates). # But many Android.mks assume the .pb.hs are in $(generated_sources_dir). # As a workaround, we make a copy in the $(intermediates). proto_intermediate_dir := $(intermediates)/proto proto_intermediate_cpps := $(patsubst $(proto_gen_dir)/%,$(proto_intermediate_dir)/%,\ $(proto_generated_cpps)) $(proto_intermediate_cpps) : $(proto_intermediate_dir)/% : $(proto_gen_dir)/% @echo "Copy: $@" $(copy-file-to-target) $(hide) cp $(basename $<).h $(basename $@).h $(call track-src-file-gen,$(proto_sources),$(proto_intermediate_cpps)) my_generated_sources += $(proto_intermediate_cpps) my_c_includes += $(my_proto_c_includes) # Auto-export the generated proto source dir. Loading Loading @@ -926,7 +924,7 @@ $(call track-src-file-obj,$(patsubst %,%.arm,$(cpp_arm_sources)),$(cpp_arm_objec dotdot_arm_objects := $(foreach s,$(dotdot_arm_sources),\ $(eval $(call compile-dotdot-cpp-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_arm_objects))) $(call track-src-file-obj,$(patsubst %,%.arm,$(dotdot_arm_sources)),$(dotdot_arm_objects)) Loading @@ -934,7 +932,7 @@ dotdot_sources := $(filter ../%$(LOCAL_CPP_EXTENSION),$(my_src_files)) dotdot_objects := $(foreach s,$(dotdot_sources),\ $(eval $(call compile-dotdot-cpp-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_objects))) $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects)) Loading @@ -952,7 +950,6 @@ cpp_objects := $(cpp_arm_objects) $(cpp_normal_objects) ifneq ($(strip $(cpp_objects)),) $(cpp_objects): $(intermediates)/%.o: \ $(TOPDIR)$(LOCAL_PATH)/%$(LOCAL_CPP_EXTENSION) \ $(yacc_cpps) $(proto_generated_headers) \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(cpp_objects)) Loading @@ -974,8 +971,7 @@ ifneq ($(strip $(gen_cpp_objects)),) $(gen_cpp_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_cpp_objects): $(intermediates)/%.o: \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) $(yacc_cpps) \ $(proto_generated_headers) \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(gen_cpp_objects)) Loading Loading @@ -1030,7 +1026,7 @@ $(call track-src-file-obj,$(patsubst %,%.arm,$(c_arm_sources)),$(c_arm_objects)) dotdot_arm_objects := $(foreach s,$(dotdot_arm_sources),\ $(eval $(call compile-dotdot-c-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_arm_objects))) $(call track-src-file-obj,$(patsubst %,%.arm,$(dotdot_arm_sources)),$(dotdot_arm_objects)) Loading @@ -1038,7 +1034,7 @@ dotdot_sources := $(filter ../%.c, $(my_src_files)) dotdot_objects := $(foreach s, $(dotdot_sources),\ $(eval $(call compile-dotdot-c-file,$(s),\ $(yacc_cpps) $(proto_generated_headers) $(my_additional_dependencies),\ $(my_additional_dependencies),\ dotdot_objects))) $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects)) Loading @@ -1054,7 +1050,7 @@ $(dotdot_objects) $(c_normal_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cf c_objects := $(c_arm_objects) $(c_normal_objects) ifneq ($(strip $(c_objects)),) $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c $(yacc_cpps) $(proto_generated_headers) \ $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(c_objects)) Loading @@ -1075,7 +1071,7 @@ ifneq ($(strip $(gen_c_objects)),) # TODO: support compiling certain generated files as arm. $(gen_c_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c $(yacc_cpps) $(proto_generated_headers) \ $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(gen_c_objects)) Loading @@ -1090,7 +1086,7 @@ objc_objects := $(addprefix $(intermediates)/,$(objc_sources:.m=.o)) $(call track-src-file-obj,$(objc_sources),$(objc_objects)) ifneq ($(strip $(objc_objects)),) $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m $(yacc_cpps) $(proto_generated_headers) \ $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)m-to-o) $(call include-depfiles-for-objs, $(objc_objects)) Loading @@ -1105,7 +1101,7 @@ objcpp_objects := $(addprefix $(intermediates)/,$(objcpp_sources:.mm=.o)) $(call track-src-file-obj,$(objcpp_sources),$(objcpp_objects)) ifneq ($(strip $(objcpp_objects)),) $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm $(yacc_cpps) $(proto_generated_headers) \ $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm \ $(my_additional_dependencies) $(transform-$(PRIVATE_HOST)mm-to-o) $(call include-depfiles-for-objs, $(objcpp_objects)) Loading Loading @@ -1235,8 +1231,7 @@ normal_objects := \ $(c_objects) \ $(gen_c_objects) \ $(objc_objects) \ $(objcpp_objects) \ $(proto_generated_objects) $(objcpp_objects) new_order_normal_objects := $(foreach f,$(my_src_files),$(my_src_file_obj_$(f))) new_order_normal_objects += $(foreach f,$(my_gen_src_files),$(my_src_file_obj_$(f))) Loading Loading @@ -1517,11 +1512,9 @@ export_include_deps += $(strip \ $(foreach l,$(LOCAL_EXPORT_STATIC_LIBRARY_HEADERS), \ $(call intermediates-dir-for,STATIC_LIBRARIES,$(l),$(LOCAL_IS_HOST_MODULE),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))/export_includes)) $(export_includes): PRIVATE_REEXPORTED_INCLUDES := $(export_include_deps) # Make sure .pb.h are already generated before any dependent source files get compiled. # Similarly, the generated DBus headers need to exist before we export their location. # People are not going to consume the aidl generated cpp file, but the cpp file is # generated after the headers, so this is a convenient way to ensure the headers exist. $(export_includes) : $(proto_generated_headers) $(dbus_generated_headers) $(aidl_gen_cpp) $(export_include_deps) $(vts_gen_cpp) # By adding $(my_generated_sources) it makes sure the headers get generated # before any dependent source files get compiled. $(export_includes) : $(my_generated_sources) $(export_include_deps) @echo Export includes file: $< -- $@ $(hide) mkdir -p $(dir $@) && rm -f $@.tmp && touch $@.tmp ifdef my_export_c_include_dirs Loading
core/definitions.mk +3 −0 Original line number Diff line number Diff line Loading @@ -1152,6 +1152,9 @@ $(hide) $(PROTOC) \ $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \ $(PRIVATE_PROTOC_FLAGS) \ $< @# aprotoc outputs only .cc. Rename it to .cpp if necessary. $(if $(PRIVATE_RENAME_CPP_EXT),\ $(hide) mv $(basename $@).cc $@) endef Loading