Loading core/binary.mk +6 −10 Original line number Diff line number Diff line Loading @@ -733,24 +733,20 @@ aidl_src := $(strip $(filter %.aidl,$(my_src_files))) aidl_gen_cpp := ifneq ($(aidl_src),) # Use the intermediates directory to avoid writing our own .cpp -> .o rules. aidl_gen_cpp_root := $(intermediates)/aidl-generated/src aidl_gen_include_root := $(intermediates)/aidl-generated/include aidl_gen_cpp := $(patsubst %.aidl,%$(LOCAL_CPP_EXTENSION),$(aidl_src)) aidl_gen_cpp := $(addprefix $(aidl_gen_cpp_root)/,$(aidl_gen_cpp)) # Multi-architecture builds have distinct intermediates directories. # Thus we'll actually generate source for each architecture. $(foreach s,$(aidl_src),\ $(eval $(call define-aidl-cpp-rule,$(s),$(aidl_gen_cpp_root),aidl_gen_cpp))) -include $(addsuffix .P,$(basename $(aidl_gen_cpp))) # TODO(wiley): we could pass down a flag here to only generate the server or # client side of the binder interface. $(aidl_gen_cpp) : PRIVATE_MODULE := $(LOCAL_MODULE) $(aidl_gen_cpp) : PRIVATE_HEADER_OUTPUT_DIR := $(aidl_gen_include_root) $(aidl_gen_cpp) : PRIVATE_AIDL_FLAGS := $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) # Multi-architecture builds have distinct intermediates directories. # Define rules for both architectures. $(aidl_gen_cpp) : $(aidl_gen_cpp_root)/%$(LOCAL_CPP_EXTENSION) : $(LOCAL_PATH)/%.aidl $(AIDL_CPP) $(transform-aidl-to-cpp) -include $(addsuffix .P,$(basename $(aidl_gen_cpp))) # Add generated headers to include paths. my_c_includes += $(aidl_gen_include_root) my_export_c_include_dirs += $(aidl_gen_include_root) Loading core/definitions.mk +12 −0 Original line number Diff line number Diff line Loading @@ -993,6 +993,18 @@ $(hide) $(AIDL_CPP) -d$(basename $@).P $(PRIVATE_AIDL_FLAGS) \ $< $(PRIVATE_HEADER_OUTPUT_DIR) $@ endef ## Given a .aidl file path generate the rule to compile it a .cpp file. # $(1): a .aidl source file # $(2): a directory to place the generated .cpp files in # $(3): name of a variable to add the path to the generated source file to # # You must call this with $(eval). define define-aidl-cpp-rule define-aidl-cpp-rule-src := $(patsubst %.aidl,%$(LOCAL_CPP_EXTENSION),$(subst ../,dotdot/,$(addprefix $(2)/,$(1)))) $$(define-aidl-cpp-rule-src) : $(LOCAL_PATH)/$(1) $(AIDL_CPP) $$(transform-aidl-to-cpp) $(3) += $$(define-aidl-cpp-rule-src) endef ########################################################### ## Commands for running java-event-log-tags.py Loading Loading
core/binary.mk +6 −10 Original line number Diff line number Diff line Loading @@ -733,24 +733,20 @@ aidl_src := $(strip $(filter %.aidl,$(my_src_files))) aidl_gen_cpp := ifneq ($(aidl_src),) # Use the intermediates directory to avoid writing our own .cpp -> .o rules. aidl_gen_cpp_root := $(intermediates)/aidl-generated/src aidl_gen_include_root := $(intermediates)/aidl-generated/include aidl_gen_cpp := $(patsubst %.aidl,%$(LOCAL_CPP_EXTENSION),$(aidl_src)) aidl_gen_cpp := $(addprefix $(aidl_gen_cpp_root)/,$(aidl_gen_cpp)) # Multi-architecture builds have distinct intermediates directories. # Thus we'll actually generate source for each architecture. $(foreach s,$(aidl_src),\ $(eval $(call define-aidl-cpp-rule,$(s),$(aidl_gen_cpp_root),aidl_gen_cpp))) -include $(addsuffix .P,$(basename $(aidl_gen_cpp))) # TODO(wiley): we could pass down a flag here to only generate the server or # client side of the binder interface. $(aidl_gen_cpp) : PRIVATE_MODULE := $(LOCAL_MODULE) $(aidl_gen_cpp) : PRIVATE_HEADER_OUTPUT_DIR := $(aidl_gen_include_root) $(aidl_gen_cpp) : PRIVATE_AIDL_FLAGS := $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) # Multi-architecture builds have distinct intermediates directories. # Define rules for both architectures. $(aidl_gen_cpp) : $(aidl_gen_cpp_root)/%$(LOCAL_CPP_EXTENSION) : $(LOCAL_PATH)/%.aidl $(AIDL_CPP) $(transform-aidl-to-cpp) -include $(addsuffix .P,$(basename $(aidl_gen_cpp))) # Add generated headers to include paths. my_c_includes += $(aidl_gen_include_root) my_export_c_include_dirs += $(aidl_gen_include_root) Loading
core/definitions.mk +12 −0 Original line number Diff line number Diff line Loading @@ -993,6 +993,18 @@ $(hide) $(AIDL_CPP) -d$(basename $@).P $(PRIVATE_AIDL_FLAGS) \ $< $(PRIVATE_HEADER_OUTPUT_DIR) $@ endef ## Given a .aidl file path generate the rule to compile it a .cpp file. # $(1): a .aidl source file # $(2): a directory to place the generated .cpp files in # $(3): name of a variable to add the path to the generated source file to # # You must call this with $(eval). define define-aidl-cpp-rule define-aidl-cpp-rule-src := $(patsubst %.aidl,%$(LOCAL_CPP_EXTENSION),$(subst ../,dotdot/,$(addprefix $(2)/,$(1)))) $$(define-aidl-cpp-rule-src) : $(LOCAL_PATH)/$(1) $(AIDL_CPP) $$(transform-aidl-to-cpp) $(3) += $$(define-aidl-cpp-rule-src) endef ########################################################### ## Commands for running java-event-log-tags.py Loading