Historically, we've relied on the path to the clang compiler changing in order to trigger rebuilds instead of direct dependencies on the compiler itself. That's somewhat more reliable, since the actual $(CLANG) file is often a script that doesn't actually change during every update. In Soong, we've added the dependency anyway, so do it here as well. This makes it easier for my RBE experiments to identify when we intend to use clang and to send the entire compiler. Test: treehugger Test: build a system image with RBE, find that every command that needed the compiler gets it. Change-Id: I3838b5d77884394a8c0f7a1ba133142102602084
46 lines
1.7 KiB
Makefile
46 lines
1.7 KiB
Makefile
###########################################################
|
|
## Standard rules for building a static library.
|
|
##
|
|
## Additional inputs from base_rules.make:
|
|
## None.
|
|
##
|
|
## LOCAL_MODULE_SUFFIX will be set for you.
|
|
###########################################################
|
|
|
|
ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
|
|
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
|
endif
|
|
ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
|
|
LOCAL_MODULE_SUFFIX := .a
|
|
endif
|
|
LOCAL_UNINSTALLABLE_MODULE := true
|
|
ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
|
|
$(error $(LOCAL_PATH): Cannot set module stem for a library)
|
|
endif
|
|
|
|
include $(BUILD_SYSTEM)/binary.mk
|
|
|
|
$(LOCAL_BUILT_MODULE) : $(built_whole_libraries)
|
|
$(LOCAL_BUILT_MODULE) : $(all_objects) $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_AR)
|
|
$(transform-o-to-static-lib)
|
|
|
|
ifeq ($(NATIVE_COVERAGE),true)
|
|
gcno_suffix := .gcnodir
|
|
|
|
built_whole_gcno_libraries := \
|
|
$(foreach lib,$(my_whole_static_libraries), \
|
|
$(call intermediates-dir-for, \
|
|
STATIC_LIBRARIES,$(lib),$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX), \
|
|
$(my_host_cross))/$(lib)$(gcno_suffix))
|
|
|
|
GCNO_ARCHIVE := $(LOCAL_MODULE)$(gcno_suffix)
|
|
|
|
$(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_ALL_OBJECTS := $(strip $(LOCAL_GCNO_FILES))
|
|
$(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_ALL_WHOLE_STATIC_LIBRARIES := $(strip $(built_whole_gcno_libraries))
|
|
$(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_PREFIX := $(my_prefix)
|
|
$(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_2ND_ARCH_VAR_PREFIX := $(LOCAL_2ND_ARCH_VAR_PREFIX)
|
|
$(intermediates)/$(GCNO_ARCHIVE) : PRIVATE_INTERMEDIATES_DIR := $(intermediates)
|
|
$(intermediates)/$(GCNO_ARCHIVE) : $(LOCAL_GCNO_FILES) $(built_whole_gcno_libraries)
|
|
$(transform-o-to-static-lib)
|
|
endif
|