Move combo makefile parsing
These files may be setting variables usually defined in the BoardConfig. This moves that setting into board_config.mk so that the relevant variables can be made readonly. Test: build_test Test: diff presubmit target_files vs base cl Change-Id: I4dab09fa67c0f2e88a8ce1402a35b4ef5f8a0560
This commit is contained in:
@@ -89,6 +89,16 @@ BOARD_KERNEL_PAGESIZE := $(strip $(BOARD_KERNEL_PAGESIZE))
|
|||||||
|
|
||||||
INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE))
|
INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE))
|
||||||
|
|
||||||
|
# The combo makefiles sanity-check and set defaults for various CPU configuration
|
||||||
|
combo_target := TARGET_
|
||||||
|
combo_2nd_arch_prefix :=
|
||||||
|
include $(BUILD_SYSTEM)/combo/select.mk
|
||||||
|
|
||||||
|
ifdef TARGET_2ND_ARCH
|
||||||
|
combo_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
||||||
|
include $(BUILD_SYSTEM)/combo/select.mk
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET_CPU_ABI),)
|
ifeq ($(TARGET_CPU_ABI),)
|
||||||
$(error No TARGET_CPU_ABI defined by board config: $(board_config_mk))
|
$(error No TARGET_CPU_ABI defined by board config: $(board_config_mk))
|
||||||
endif
|
endif
|
||||||
|
@@ -300,44 +300,6 @@ $(hide) $(HOST_OTOOL) -l $(1) | grep LC_ID_DYLIB -A 5 > $(2)
|
|||||||
$(hide) $(HOST_NM) -gP $(1) | cut -f1-2 -d" " | (grep -v U$$ >> $(2) || true)
|
$(hide) $(HOST_NM) -gP $(1) | cut -f1-2 -d" " | (grep -v U$$ >> $(2) || true)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
combo_target := HOST_
|
|
||||||
combo_2nd_arch_prefix :=
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
|
|
||||||
# Load the 2nd host arch if it's needed.
|
|
||||||
ifdef HOST_2ND_ARCH
|
|
||||||
combo_target := HOST_
|
|
||||||
combo_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Load the windows cross compiler under Linux
|
|
||||||
ifdef HOST_CROSS_OS
|
|
||||||
combo_target := HOST_CROSS_
|
|
||||||
combo_2nd_arch_prefix :=
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
|
|
||||||
ifdef HOST_CROSS_2ND_ARCH
|
|
||||||
combo_target := HOST_CROSS_
|
|
||||||
combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# on windows, the tools have .exe at the end, and we depend on the
|
|
||||||
# host config stuff being done first
|
|
||||||
|
|
||||||
combo_target := TARGET_
|
|
||||||
combo_2nd_arch_prefix :=
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
|
|
||||||
# Load the 2nd target arch if it's needed.
|
|
||||||
ifdef TARGET_2ND_ARCH
|
|
||||||
combo_target := TARGET_
|
|
||||||
combo_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
|
||||||
include $(BUILD_SYSTEM)/combo/select.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CALLED_FROM_SETUP),true)
|
ifeq ($(CALLED_FROM_SETUP),true)
|
||||||
include $(BUILD_SYSTEM)/ccache.mk
|
include $(BUILD_SYSTEM)/ccache.mk
|
||||||
include $(BUILD_SYSTEM)/goma.mk
|
include $(BUILD_SYSTEM)/goma.mk
|
||||||
|
@@ -152,6 +152,45 @@ ifeq ($(HOST_OS),darwin)
|
|||||||
HOST_2ND_ARCH :=
|
HOST_2ND_ARCH :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
HOST_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||||
|
HOST_2ND_ARCH_MODULE_SUFFIX := _32
|
||||||
|
HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||||
|
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64
|
||||||
|
TARGET_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||||
|
.KATI_READONLY := \
|
||||||
|
HOST_ARCH \
|
||||||
|
HOST_2ND_ARCH \
|
||||||
|
HOST_IS_64_BIT \
|
||||||
|
HOST_2ND_ARCH_VAR_PREFIX \
|
||||||
|
HOST_2ND_ARCH_MODULE_SUFFIX \
|
||||||
|
HOST_CROSS_2ND_ARCH_VAR_PREFIX \
|
||||||
|
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \
|
||||||
|
TARGET_2ND_ARCH_VAR_PREFIX \
|
||||||
|
|
||||||
|
combo_target := HOST_
|
||||||
|
combo_2nd_arch_prefix :=
|
||||||
|
include $(BUILD_COMBOS)/select.mk
|
||||||
|
|
||||||
|
ifdef HOST_2ND_ARCH
|
||||||
|
combo_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
|
||||||
|
include $(BUILD_SYSTEM)/combo/select.mk
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Load the windows cross compiler under Linux
|
||||||
|
ifdef HOST_CROSS_OS
|
||||||
|
combo_target := HOST_CROSS_
|
||||||
|
combo_2nd_arch_prefix :=
|
||||||
|
include $(BUILD_SYSTEM)/combo/select.mk
|
||||||
|
|
||||||
|
ifdef HOST_CROSS_2ND_ARCH
|
||||||
|
combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||||
|
include $(BUILD_SYSTEM)/combo/select.mk
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# on windows, the tools have .exe at the end, and we depend on the
|
||||||
|
# host config stuff being done first
|
||||||
|
|
||||||
BUILD_ARCH := $(HOST_ARCH)
|
BUILD_ARCH := $(HOST_ARCH)
|
||||||
BUILD_2ND_ARCH := $(HOST_2ND_ARCH)
|
BUILD_2ND_ARCH := $(HOST_2ND_ARCH)
|
||||||
|
|
||||||
@@ -232,11 +271,10 @@ $(error must be empty or one of: eng user userdebug)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
SDK_HOST_ARCH := x86
|
SDK_HOST_ARCH := x86
|
||||||
|
TARGET_OS := linux
|
||||||
|
|
||||||
include $(BUILD_SYSTEM)/board_config.mk
|
include $(BUILD_SYSTEM)/board_config.mk
|
||||||
|
|
||||||
TARGET_OS := linux
|
|
||||||
|
|
||||||
# the target build type defaults to release
|
# the target build type defaults to release
|
||||||
ifneq ($(TARGET_BUILD_TYPE),debug)
|
ifneq ($(TARGET_BUILD_TYPE),debug)
|
||||||
TARGET_BUILD_TYPE := release
|
TARGET_BUILD_TYPE := release
|
||||||
@@ -342,8 +380,6 @@ HOST_OUT_TEST_CONFIG := $(HOST_OUT)/test_config
|
|||||||
.KATI_READONLY := HOST_OUT_TEST_CONFIG
|
.KATI_READONLY := HOST_OUT_TEST_CONFIG
|
||||||
|
|
||||||
# Out for HOST_2ND_ARCH
|
# Out for HOST_2ND_ARCH
|
||||||
HOST_2ND_ARCH_VAR_PREFIX := 2ND_
|
|
||||||
HOST_2ND_ARCH_MODULE_SUFFIX := _32
|
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj32
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj32
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES := $(HOST_OUT_EXECUTABLES)
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES := $(HOST_OUT_EXECUTABLES)
|
||||||
@@ -351,8 +387,6 @@ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT_JAVA_LIBRARIES)
|
|||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_NATIVE_TESTS := $(HOST_OUT)/nativetest
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_NATIVE_TESTS := $(HOST_OUT)/nativetest
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES := $(HOST_OUT_TESTCASES)
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES := $(HOST_OUT_TESTCASES)
|
||||||
.KATI_READONLY := \
|
.KATI_READONLY := \
|
||||||
HOST_2ND_ARCH_VAR_PREFIX \
|
|
||||||
HOST_2ND_ARCH_MODULE_SUFFIX \
|
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES \
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES \
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES \
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES \
|
||||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES \
|
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES \
|
||||||
@@ -366,15 +400,11 @@ HOST_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES)
|
|||||||
.KATI_READONLY := HOST_LIBRARY_PATH
|
.KATI_READONLY := HOST_LIBRARY_PATH
|
||||||
|
|
||||||
# Out for HOST_CROSS_2ND_ARCH
|
# Out for HOST_CROSS_2ND_ARCH
|
||||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_
|
|
||||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64
|
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES)
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES)
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest64
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest64
|
||||||
.KATI_READONLY := \
|
.KATI_READONLY := \
|
||||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX \
|
|
||||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \
|
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES \
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES \
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES \
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES \
|
||||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES \
|
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES \
|
||||||
@@ -461,14 +491,13 @@ endif
|
|||||||
.KATI_READONLY := TARGET_OUT_SYSTEM_OTHER
|
.KATI_READONLY := TARGET_OUT_SYSTEM_OTHER
|
||||||
|
|
||||||
# Out for TARGET_2ND_ARCH
|
# Out for TARGET_2ND_ARCH
|
||||||
TARGET_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
|
|
||||||
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
|
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
|
||||||
# With this you can reference the arm binary translation library with libfoo_arm in PRODUCT_PACKAGES.
|
# With this you can reference the arm binary translation library with libfoo_arm in PRODUCT_PACKAGES.
|
||||||
TARGET_2ND_ARCH_MODULE_SUFFIX := _$(TARGET_2ND_ARCH)
|
TARGET_2ND_ARCH_MODULE_SUFFIX := _$(TARGET_2ND_ARCH)
|
||||||
else
|
else
|
||||||
TARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX)
|
TARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX)
|
||||||
endif
|
endif
|
||||||
.KATI_READONLY := TARGET_2ND_ARCH_VAR_PREFIX TARGET_2ND_ARCH_MODULE_SUFFIX
|
.KATI_READONLY := TARGET_2ND_ARCH_MODULE_SUFFIX
|
||||||
|
|
||||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)_asan
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)_asan
|
||||||
|
Reference in New Issue
Block a user