Ying Wang | 6ef6519 | 2014-01-15 16:02:16 -0800 | [diff] [blame] | 1 | ########################################################### |
| 2 | ## Standard rules for building a static library. |
| 3 | ## |
| 4 | ## Additional inputs from base_rules.make: |
| 5 | ## None. |
| 6 | ## |
| 7 | ## LOCAL_MODULE_SUFFIX will be set for you. |
| 8 | ########################################################### |
| 9 | |
| 10 | ifeq ($(strip $(LOCAL_MODULE_CLASS)),) |
| 11 | LOCAL_MODULE_CLASS := STATIC_LIBRARIES |
| 12 | endif |
| 13 | ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),) |
| 14 | LOCAL_MODULE_SUFFIX := .a |
| 15 | endif |
| 16 | LOCAL_UNINSTALLABLE_MODULE := true |
| 17 | ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),) |
| 18 | $(error $(LOCAL_PATH): Cannot set module stem for a library) |
| 19 | endif |
| 20 | |
| 21 | include $(BUILD_SYSTEM)/binary.mk |
| 22 | |
Ying Wang | 6ef6519 | 2014-01-15 16:02:16 -0800 | [diff] [blame] | 23 | $(LOCAL_BUILT_MODULE) : $(built_whole_libraries) |
Dan Willemsen | c5b7c4f | 2019-06-12 05:59:53 +0000 | [diff] [blame] | 24 | $(LOCAL_BUILT_MODULE) : $(all_objects) $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_AR) |
Ying Wang | 6ef6519 | 2014-01-15 16:02:16 -0800 | [diff] [blame] | 25 | $(transform-o-to-static-lib) |
Ryan Campbell | 81c9d29 | 2016-09-12 13:56:50 -0700 | [diff] [blame] | 26 | |
Dan Willemsen | 9f95665 | 2016-10-21 15:04:12 -0700 | [diff] [blame] | 27 | ifeq ($(NATIVE_COVERAGE),true) |
Oliver Nguyen | e91ab23 | 2019-04-30 15:14:44 -0700 | [diff] [blame] | 28 | gcno_suffix := .zip |
Ryan Campbell | 81c9d29 | 2016-09-12 13:56:50 -0700 | [diff] [blame] | 29 | |
| 30 | built_whole_gcno_libraries := \ |
| 31 | $(foreach lib,$(my_whole_static_libraries), \ |
| 32 | $(call intermediates-dir-for, \ |
| 33 | STATIC_LIBRARIES,$(lib),$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX), \ |
| 34 | $(my_host_cross))/$(lib)$(gcno_suffix)) |
| 35 | |
| 36 | GCNO_ARCHIVE := $(LOCAL_MODULE)$(gcno_suffix) |
| 37 | |
Oliver Nguyen | e91ab23 | 2019-04-30 15:14:44 -0700 | [diff] [blame] | 38 | $(intermediates)/$(GCNO_ARCHIVE) : $(SOONG_ZIP) $(MERGE_ZIPS) |
Ryan Campbell | 81c9d29 | 2016-09-12 13:56:50 -0700 | [diff] [blame] | 39 | $(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_ALL_OBJECTS := $(strip $(LOCAL_GCNO_FILES)) |
| 40 | $(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_ALL_WHOLE_STATIC_LIBRARIES := $(strip $(built_whole_gcno_libraries)) |
| 41 | $(intermediates)/$(GCNO_ARCHIVE) : $(LOCAL_GCNO_FILES) $(built_whole_gcno_libraries) |
Oliver Nguyen | e91ab23 | 2019-04-30 15:14:44 -0700 | [diff] [blame] | 42 | $(package-coverage-files) |
Dan Willemsen | 9f95665 | 2016-10-21 15:04:12 -0700 | [diff] [blame] | 43 | endif |
Wei Li | 0762f5f | 2024-06-17 14:32:45 -0700 | [diff] [blame] | 44 | |
| 45 | $(if $(my_register_name),$(eval ALL_MODULES.$(my_register_name).MAKE_MODULE_TYPE:=STATIC_LIBRARY)) |