16feb6d5607ce86a446645564212043964628f540Ying Wang###########################################################
26feb6d5607ce86a446645564212043964628f540Ying Wang## Standard rules for building an executable file.
36feb6d5607ce86a446645564212043964628f540Ying Wang##
46feb6d5607ce86a446645564212043964628f540Ying Wang## Additional inputs from base_rules.make:
56feb6d5607ce86a446645564212043964628f540Ying Wang## None.
66feb6d5607ce86a446645564212043964628f540Ying Wang###########################################################
76feb6d5607ce86a446645564212043964628f540Ying Wang
86feb6d5607ce86a446645564212043964628f540Ying WangLOCAL_IS_HOST_MODULE := true
96feb6d5607ce86a446645564212043964628f540Ying Wangifeq ($(strip $(LOCAL_MODULE_CLASS)),)
106feb6d5607ce86a446645564212043964628f540Ying WangLOCAL_MODULE_CLASS := EXECUTABLES
116feb6d5607ce86a446645564212043964628f540Ying Wangendif
126feb6d5607ce86a446645564212043964628f540Ying Wangifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
136feb6d5607ce86a446645564212043964628f540Ying WangLOCAL_MODULE_SUFFIX := $(HOST_EXECUTABLE_SUFFIX)
146feb6d5607ce86a446645564212043964628f540Ying Wangendif
156feb6d5607ce86a446645564212043964628f540Ying Wang
166feb6d5607ce86a446645564212043964628f540Ying Wang$(call host-executable-hook)
176feb6d5607ce86a446645564212043964628f540Ying Wang
186feb6d5607ce86a446645564212043964628f540Ying Wangskip_build_from_source :=
196feb6d5607ce86a446645564212043964628f540Ying Wangifdef LOCAL_PREBUILT_MODULE_FILE
206feb6d5607ce86a446645564212043964628f540Ying Wangifeq (,$(call if-build-from-source,$(LOCAL_MODULE),$(LOCAL_PATH)))
216feb6d5607ce86a446645564212043964628f540Ying Wanginclude $(BUILD_SYSTEM)/prebuilt_internal.mk
226feb6d5607ce86a446645564212043964628f540Ying Wangskip_build_from_source := true
236feb6d5607ce86a446645564212043964628f540Ying Wangendif
246feb6d5607ce86a446645564212043964628f540Ying Wangendif
256feb6d5607ce86a446645564212043964628f540Ying Wang
266feb6d5607ce86a446645564212043964628f540Ying Wangifndef skip_build_from_source
276feb6d5607ce86a446645564212043964628f540Ying Wang
286feb6d5607ce86a446645564212043964628f540Ying Wanginclude $(BUILD_SYSTEM)/binary.mk
296feb6d5607ce86a446645564212043964628f540Ying Wang
306feb6d5607ce86a446645564212043964628f540Ying Wang$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries)
316feb6d5607ce86a446645564212043964628f540Ying Wang	$(transform-host-o-to-executable)
326feb6d5607ce86a446645564212043964628f540Ying Wang
336feb6d5607ce86a446645564212043964628f540Ying Wangendif  # skip_build_from_source
34