c5b7c4fbef
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
45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
###########################################################
|
|
## Standard rules for building an executable file.
|
|
##
|
|
## Additional inputs from base_rules.make:
|
|
## None.
|
|
###########################################################
|
|
|
|
ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
|
|
LOCAL_MODULE_CLASS := EXECUTABLES
|
|
endif
|
|
ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
|
|
LOCAL_MODULE_SUFFIX := $($(my_prefix)EXECUTABLE_SUFFIX)
|
|
endif
|
|
|
|
ifdef host-executable-hook
|
|
$(call host-executable-hook)
|
|
endif
|
|
|
|
skip_build_from_source :=
|
|
ifdef LOCAL_PREBUILT_MODULE_FILE
|
|
ifeq (,$(call if-build-from-source,$(LOCAL_MODULE),$(LOCAL_PATH)))
|
|
include $(BUILD_SYSTEM)/prebuilt_internal.mk
|
|
skip_build_from_source := true
|
|
endif
|
|
endif
|
|
|
|
ifndef skip_build_from_source
|
|
|
|
include $(BUILD_SYSTEM)/binary.mk
|
|
|
|
my_host_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBPROFILE_RT)
|
|
$(LOCAL_BUILT_MODULE): PRIVATE_HOST_LIBPROFILE_RT := $(my_host_libprofile_rt)
|
|
|
|
my_libdir := $(notdir $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_SHARED_LIBRARIES))
|
|
ifeq ($(LOCAL_MODULE_CLASS),NATIVE_TESTS)
|
|
$(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../../$(my_libdir) ../../../$(my_libdir)
|
|
else
|
|
$(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../$(my_libdir) $(my_libdir)
|
|
endif
|
|
my_libdir :=
|
|
|
|
$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(CLANG_CXX)
|
|
$(transform-host-o-to-executable)
|
|
|
|
endif # skip_build_from_source
|