1*9e94795aSAndroid Build Coastguard Worker# Variables we check: 2*9e94795aSAndroid Build Coastguard Worker# HOST_BUILD_TYPE = { release debug } 3*9e94795aSAndroid Build Coastguard Worker# TARGET_BUILD_TYPE = { release debug } 4*9e94795aSAndroid Build Coastguard Worker# and we output a bunch of variables, see the case statement at 5*9e94795aSAndroid Build Coastguard Worker# the bottom for the full list 6*9e94795aSAndroid Build Coastguard Worker# OUT_DIR is also set to "out" if it's not already set. 7*9e94795aSAndroid Build Coastguard Worker# this allows you to set it to somewhere else if you like 8*9e94795aSAndroid Build Coastguard Worker# SCAN_EXCLUDE_DIRS is an optional, whitespace separated list of 9*9e94795aSAndroid Build Coastguard Worker# directories that will also be excluded from full checkout tree 10*9e94795aSAndroid Build Coastguard Worker# searches for source or make files, in addition to OUT_DIR. 11*9e94795aSAndroid Build Coastguard Worker# This can be useful if you set OUT_DIR to be a different directory 12*9e94795aSAndroid Build Coastguard Worker# than other outputs of your build system. 13*9e94795aSAndroid Build Coastguard Worker 14*9e94795aSAndroid Build Coastguard Worker# Returns all words in $1 up to and including $2 15*9e94795aSAndroid Build Coastguard Workerdefine find_and_earlier 16*9e94795aSAndroid Build Coastguard Worker $(strip $(if $(1), 17*9e94795aSAndroid Build Coastguard Worker $(firstword $(1)) 18*9e94795aSAndroid Build Coastguard Worker $(if $(filter $(firstword $(1)),$(2)),, 19*9e94795aSAndroid Build Coastguard Worker $(call find_and_earlier,$(wordlist 2,$(words $(1)),$(1)),$(2))))) 20*9e94795aSAndroid Build Coastguard Workerendef 21*9e94795aSAndroid Build Coastguard Worker 22*9e94795aSAndroid Build Coastguard Worker#$(warning $(call find_and_earlier,A B C,A)) 23*9e94795aSAndroid Build Coastguard Worker#$(warning $(call find_and_earlier,A B C,B)) 24*9e94795aSAndroid Build Coastguard Worker#$(warning $(call find_and_earlier,A B C,C)) 25*9e94795aSAndroid Build Coastguard Worker#$(warning $(call find_and_earlier,A B C,D)) 26*9e94795aSAndroid Build Coastguard Worker 27*9e94795aSAndroid Build Coastguard Worker# Runs a starlark file, and sets all the variables in its top-level 28*9e94795aSAndroid Build Coastguard Worker# variables_to_export_to_make variable as make variables. 29*9e94795aSAndroid Build Coastguard Worker# 30*9e94795aSAndroid Build Coastguard Worker# In order to avoid running starlark every time the stamp file is checked, we use 31*9e94795aSAndroid Build Coastguard Worker# $(KATI_shell_no_rerun). Then, to make sure that we actually do rerun kati when 32*9e94795aSAndroid Build Coastguard Worker# modifying the starlark files, we add the starlark files to the kati stamp file with 33*9e94795aSAndroid Build Coastguard Worker# $(KATI_extra_file_deps). 34*9e94795aSAndroid Build Coastguard Worker# 35*9e94795aSAndroid Build Coastguard Worker# Arguments: 36*9e94795aSAndroid Build Coastguard Worker# $(1): A single starlark file to use as the entrypoint 37*9e94795aSAndroid Build Coastguard Worker# $(2): An optional list of starlark files to NOT include as kati dependencies. 38*9e94795aSAndroid Build Coastguard Worker# $(3): An optional list of extra flags to pass to rbcrun 39*9e94795aSAndroid Build Coastguard Workerdefine run-starlark 40*9e94795aSAndroid Build Coastguard Worker$(eval _starlark_results := $(OUT_DIR)/starlark_results/$(subst /,_,$(1)).mk) 41*9e94795aSAndroid Build Coastguard Worker$(KATI_shell_no_rerun mkdir -p $(OUT_DIR)/starlark_results && $(OUT_DIR)/rbcrun --mode=make $(3) $(1) >$(_starlark_results) && touch -t 200001010000 $(_starlark_results)) 42*9e94795aSAndroid Build Coastguard Worker$(if $(filter-out 0,$(.SHELLSTATUS)),$(error Starlark failed to run)) 43*9e94795aSAndroid Build Coastguard Worker$(eval include $(_starlark_results)) 44*9e94795aSAndroid Build Coastguard Worker$(KATI_extra_file_deps $(filter-out $(2),$(LOADED_STARLARK_FILES))) 45*9e94795aSAndroid Build Coastguard Worker$(eval LOADED_STARLARK_FILES :=) 46*9e94795aSAndroid Build Coastguard Worker$(eval _starlark_results :=) 47*9e94795aSAndroid Build Coastguard Workerendef 48*9e94795aSAndroid Build Coastguard Worker 49*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 50*9e94795aSAndroid Build Coastguard Worker# Release config 51*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/release_config.mk 52*9e94795aSAndroid Build Coastguard Worker 53*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 54*9e94795aSAndroid Build Coastguard Worker# Set up version information 55*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/version_util.mk 56*9e94795aSAndroid Build Coastguard Worker 57*9e94795aSAndroid Build Coastguard Worker# This used to be calculated, but is now fixed and not expected 58*9e94795aSAndroid Build Coastguard Worker# to change over time anymore. New code attempting to use a 59*9e94795aSAndroid Build Coastguard Worker# variable like IS_AT_LAST_* should instead use a 60*9e94795aSAndroid Build Coastguard Worker# build system flag. 61*9e94795aSAndroid Build Coastguard Worker 62*9e94795aSAndroid Build Coastguard WorkerENABLED_VERSIONS := "OPR1 OPD1 OPD2 OPM1 OPM2 PPR1 PPD1 PPD2 PPM1 PPM2 QPR1 QP1A QP1B QP2A QP2B QD1A QD1B QD2A QD2B QQ1A QQ1B QQ2A QQ2B QQ3A QQ3B RP1A RP1B RP2A RP2B RD1A RD1B RD2A RD2B RQ1A RQ1B RQ2A RQ2B RQ3A RQ3B SP1A SP1B SP2A SP2B SD1A SD1B SD2A SD2B SQ1A SQ1B SQ2A SQ2B SQ3A SQ3B TP1A TP1B TP2A TP2B TD1A TD1B TD2A TD2B TQ1A TQ1B TQ2A TQ2B TQ3A TQ3B UP1A UP1B UP2A UP2B UD1A UD1B UD2A UD2B UQ1A UQ1B UQ2A UQ2B UQ3A UQ3B" 63*9e94795aSAndroid Build Coastguard Worker 64*9e94795aSAndroid Build Coastguard Worker$(foreach v,$(ENABLED_VERSIONS), \ 65*9e94795aSAndroid Build Coastguard Worker $(eval IS_AT_LEAST_$(v) := true)) 66*9e94795aSAndroid Build Coastguard Worker 67*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 68*9e94795aSAndroid Build Coastguard Worker# If you update the build system such that the environment setup 69*9e94795aSAndroid Build Coastguard Worker# or buildspec.mk need to be updated, increment this number, and 70*9e94795aSAndroid Build Coastguard Worker# people who haven't re-run those will have to do so before they 71*9e94795aSAndroid Build Coastguard Worker# can build. Make sure to also update the corresponding value in 72*9e94795aSAndroid Build Coastguard Worker# buildspec.mk.default and envsetup.sh. 73*9e94795aSAndroid Build Coastguard WorkerCORRECT_BUILD_ENV_SEQUENCE_NUMBER := 13 74*9e94795aSAndroid Build Coastguard Worker 75*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 76*9e94795aSAndroid Build Coastguard Worker# The product defaults to generic on hardware 77*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_PRODUCT),) 78*9e94795aSAndroid Build Coastguard WorkerTARGET_PRODUCT := aosp_arm64 79*9e94795aSAndroid Build Coastguard Workerendif 80*9e94795aSAndroid Build Coastguard Worker 81*9e94795aSAndroid Build Coastguard Worker 82*9e94795aSAndroid Build Coastguard Worker# the variant -- the set of files that are included for a build 83*9e94795aSAndroid Build Coastguard Workerifeq ($(strip $(TARGET_BUILD_VARIANT)),) 84*9e94795aSAndroid Build Coastguard WorkerTARGET_BUILD_VARIANT := eng 85*9e94795aSAndroid Build Coastguard Workerendif 86*9e94795aSAndroid Build Coastguard Worker 87*9e94795aSAndroid Build Coastguard WorkerTARGET_BUILD_APPS ?= 88*9e94795aSAndroid Build Coastguard WorkerTARGET_BUILD_UNBUNDLED_IMAGE ?= 89*9e94795aSAndroid Build Coastguard Worker 90*9e94795aSAndroid Build Coastguard Worker# Set to true for an unbundled build, i.e. a build without 91*9e94795aSAndroid Build Coastguard Worker# support for platform targets like the system image. This also 92*9e94795aSAndroid Build Coastguard Worker# disables consistency checks that only apply to full platform 93*9e94795aSAndroid Build Coastguard Worker# builds. 94*9e94795aSAndroid Build Coastguard WorkerTARGET_BUILD_UNBUNDLED ?= 95*9e94795aSAndroid Build Coastguard Worker 96*9e94795aSAndroid Build Coastguard Worker# TARGET_BUILD_APPS implies unbundled build, otherwise we default 97*9e94795aSAndroid Build Coastguard Worker# to bundled (i.e. platform targets such as the system image are 98*9e94795aSAndroid Build Coastguard Worker# included). 99*9e94795aSAndroid Build Coastguard Workerifneq ($(TARGET_BUILD_APPS),) 100*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_UNBUNDLED := true 101*9e94795aSAndroid Build Coastguard Workerendif 102*9e94795aSAndroid Build Coastguard Worker 103*9e94795aSAndroid Build Coastguard Worker# TARGET_BUILD_UNBUNDLED_IMAGE also implies unbundled build. 104*9e94795aSAndroid Build Coastguard Worker# (i.e. it targets to only unbundled image, such as the vendor image, 105*9e94795aSAndroid Build Coastguard Worker# ,or the product image). 106*9e94795aSAndroid Build Coastguard Workerifneq ($(TARGET_BUILD_UNBUNDLED_IMAGE),) 107*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_UNBUNDLED := true 108*9e94795aSAndroid Build Coastguard Workerendif 109*9e94795aSAndroid Build Coastguard Worker 110*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 111*9e94795aSAndroid Build Coastguard Worker TARGET_PRODUCT \ 112*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_VARIANT \ 113*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_APPS \ 114*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_UNBUNDLED \ 115*9e94795aSAndroid Build Coastguard Worker TARGET_BUILD_UNBUNDLED_IMAGE \ 116*9e94795aSAndroid Build Coastguard Worker 117*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 118*9e94795aSAndroid Build Coastguard Worker# Set up configuration for host machine. We don't do cross- 119*9e94795aSAndroid Build Coastguard Worker# compiles except for arm, so the HOST is whatever we are 120*9e94795aSAndroid Build Coastguard Worker# running on 121*9e94795aSAndroid Build Coastguard Worker 122*9e94795aSAndroid Build Coastguard Worker# HOST_OS 123*9e94795aSAndroid Build Coastguard Workerifneq (,$(findstring Linux,$(UNAME))) 124*9e94795aSAndroid Build Coastguard Worker HOST_OS := linux 125*9e94795aSAndroid Build Coastguard Workerendif 126*9e94795aSAndroid Build Coastguard Workerifneq (,$(findstring Darwin,$(UNAME))) 127*9e94795aSAndroid Build Coastguard Worker HOST_OS := darwin 128*9e94795aSAndroid Build Coastguard Workerendif 129*9e94795aSAndroid Build Coastguard Worker 130*9e94795aSAndroid Build Coastguard Workerifeq ($(CALLED_FROM_SETUP),true) 131*9e94795aSAndroid Build Coastguard Worker HOST_OS_EXTRA := $(shell uname -rsm) 132*9e94795aSAndroid Build Coastguard Worker ifeq ($(HOST_OS),linux) 133*9e94795aSAndroid Build Coastguard Worker ifneq ($(wildcard /etc/os-release),) 134*9e94795aSAndroid Build Coastguard Worker HOST_OS_EXTRA += $(shell source /etc/os-release; echo $$PRETTY_NAME) 135*9e94795aSAndroid Build Coastguard Worker endif 136*9e94795aSAndroid Build Coastguard Worker else ifeq ($(HOST_OS),darwin) 137*9e94795aSAndroid Build Coastguard Worker HOST_OS_EXTRA += $(shell sw_vers -productVersion) 138*9e94795aSAndroid Build Coastguard Worker endif 139*9e94795aSAndroid Build Coastguard Worker HOST_OS_EXTRA := $(subst $(space),-,$(HOST_OS_EXTRA)) 140*9e94795aSAndroid Build Coastguard Workerendif 141*9e94795aSAndroid Build Coastguard Worker 142*9e94795aSAndroid Build Coastguard Worker# BUILD_OS is the real host doing the build. 143*9e94795aSAndroid Build Coastguard WorkerBUILD_OS := $(HOST_OS) 144*9e94795aSAndroid Build Coastguard Worker 145*9e94795aSAndroid Build Coastguard Worker# We can do the cross-build only on Linux 146*9e94795aSAndroid Build Coastguard Workerifeq ($(HOST_OS),linux) 147*9e94795aSAndroid Build Coastguard Worker # Windows has been the default host_cross OS 148*9e94795aSAndroid Build Coastguard Worker ifeq (,$(filter-out windows,$(HOST_CROSS_OS))) 149*9e94795aSAndroid Build Coastguard Worker # We can only create static host binaries for Linux, so if static host 150*9e94795aSAndroid Build Coastguard Worker # binaries are requested, turn off Windows cross-builds. 151*9e94795aSAndroid Build Coastguard Worker ifeq ($(BUILD_HOST_static),) 152*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OS := windows 153*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_ARCH := x86 154*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_2ND_ARCH := x86_64 155*9e94795aSAndroid Build Coastguard Worker 2ND_HOST_CROSS_IS_64_BIT := true 156*9e94795aSAndroid Build Coastguard Worker endif 157*9e94795aSAndroid Build Coastguard Worker else ifeq ($(HOST_CROSS_OS),linux_bionic) 158*9e94795aSAndroid Build Coastguard Worker ifeq (,$(HOST_CROSS_ARCH)) 159*9e94795aSAndroid Build Coastguard Worker $(error HOST_CROSS_ARCH missing.) 160*9e94795aSAndroid Build Coastguard Worker endif 161*9e94795aSAndroid Build Coastguard Worker else 162*9e94795aSAndroid Build Coastguard Worker $(error Unsupported HOST_CROSS_OS $(HOST_CROSS_OS)) 163*9e94795aSAndroid Build Coastguard Worker endif 164*9e94795aSAndroid Build Coastguard Workerelse ifeq ($(HOST_OS),darwin) 165*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OS := darwin 166*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_ARCH := arm64 167*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_2ND_ARCH := 168*9e94795aSAndroid Build Coastguard Workerendif 169*9e94795aSAndroid Build Coastguard Worker 170*9e94795aSAndroid Build Coastguard Workerifeq ($(HOST_OS),) 171*9e94795aSAndroid Build Coastguard Worker$(error Unable to determine HOST_OS from uname -sm: $(UNAME)!) 172*9e94795aSAndroid Build Coastguard Workerendif 173*9e94795aSAndroid Build Coastguard Worker 174*9e94795aSAndroid Build Coastguard Worker# HOST_ARCH 175*9e94795aSAndroid Build Coastguard Workerifneq (,$(findstring x86_64,$(UNAME))) 176*9e94795aSAndroid Build Coastguard Worker HOST_ARCH := x86_64 177*9e94795aSAndroid Build Coastguard Worker HOST_2ND_ARCH := x86 178*9e94795aSAndroid Build Coastguard Worker HOST_IS_64_BIT := true 179*9e94795aSAndroid Build Coastguard Workerelse 180*9e94795aSAndroid Build Coastguard Workerifneq (,$(findstring i686,$(UNAME))$(findstring x86,$(UNAME))) 181*9e94795aSAndroid Build Coastguard Worker$(error Building on a 32-bit x86 host is not supported: $(UNAME)!) 182*9e94795aSAndroid Build Coastguard Workerendif 183*9e94795aSAndroid Build Coastguard Workerendif 184*9e94795aSAndroid Build Coastguard Worker 185*9e94795aSAndroid Build Coastguard Workerifeq ($(HOST_OS),darwin) 186*9e94795aSAndroid Build Coastguard Worker # Mac no longer supports 32-bit executables 187*9e94795aSAndroid Build Coastguard Worker HOST_2ND_ARCH := 188*9e94795aSAndroid Build Coastguard Workerendif 189*9e94795aSAndroid Build Coastguard Worker 190*9e94795aSAndroid Build Coastguard WorkerHOST_2ND_ARCH_VAR_PREFIX := 2ND_ 191*9e94795aSAndroid Build Coastguard WorkerHOST_2ND_ARCH_MODULE_SUFFIX := _32 192*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_ 193*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64 194*9e94795aSAndroid Build Coastguard WorkerTARGET_2ND_ARCH_VAR_PREFIX := 2ND_ 195*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 196*9e94795aSAndroid Build Coastguard Worker HOST_ARCH \ 197*9e94795aSAndroid Build Coastguard Worker HOST_2ND_ARCH \ 198*9e94795aSAndroid Build Coastguard Worker HOST_IS_64_BIT \ 199*9e94795aSAndroid Build Coastguard Worker HOST_2ND_ARCH_VAR_PREFIX \ 200*9e94795aSAndroid Build Coastguard Worker HOST_2ND_ARCH_MODULE_SUFFIX \ 201*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_2ND_ARCH_VAR_PREFIX \ 202*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \ 203*9e94795aSAndroid Build Coastguard Worker TARGET_2ND_ARCH_VAR_PREFIX \ 204*9e94795aSAndroid Build Coastguard Worker 205*9e94795aSAndroid Build Coastguard Workercombo_target := HOST_ 206*9e94795aSAndroid Build Coastguard Workercombo_2nd_arch_prefix := 207*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_COMBOS)/select.mk 208*9e94795aSAndroid Build Coastguard Worker 209*9e94795aSAndroid Build Coastguard Workerifdef HOST_2ND_ARCH 210*9e94795aSAndroid Build Coastguard Worker combo_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX) 211*9e94795aSAndroid Build Coastguard Worker include $(BUILD_SYSTEM)/combo/select.mk 212*9e94795aSAndroid Build Coastguard Workerendif 213*9e94795aSAndroid Build Coastguard Worker 214*9e94795aSAndroid Build Coastguard Worker# Load the windows cross compiler under Linux 215*9e94795aSAndroid Build Coastguard Workerifdef HOST_CROSS_OS 216*9e94795aSAndroid Build Coastguard Worker combo_target := HOST_CROSS_ 217*9e94795aSAndroid Build Coastguard Worker combo_2nd_arch_prefix := 218*9e94795aSAndroid Build Coastguard Worker include $(BUILD_SYSTEM)/combo/select.mk 219*9e94795aSAndroid Build Coastguard Worker 220*9e94795aSAndroid Build Coastguard Worker ifdef HOST_CROSS_2ND_ARCH 221*9e94795aSAndroid Build Coastguard Worker combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX) 222*9e94795aSAndroid Build Coastguard Worker include $(BUILD_SYSTEM)/combo/select.mk 223*9e94795aSAndroid Build Coastguard Worker endif 224*9e94795aSAndroid Build Coastguard Workerendif 225*9e94795aSAndroid Build Coastguard Worker 226*9e94795aSAndroid Build Coastguard Worker# on windows, the tools have .exe at the end, and we depend on the 227*9e94795aSAndroid Build Coastguard Worker# host config stuff being done first 228*9e94795aSAndroid Build Coastguard Worker 229*9e94795aSAndroid Build Coastguard WorkerBUILD_ARCH := $(HOST_ARCH) 230*9e94795aSAndroid Build Coastguard WorkerBUILD_2ND_ARCH := $(HOST_2ND_ARCH) 231*9e94795aSAndroid Build Coastguard Worker 232*9e94795aSAndroid Build Coastguard Workerifeq ($(HOST_ARCH),) 233*9e94795aSAndroid Build Coastguard Worker$(error Unable to determine HOST_ARCH from uname -sm: $(UNAME)!) 234*9e94795aSAndroid Build Coastguard Workerendif 235*9e94795aSAndroid Build Coastguard Worker 236*9e94795aSAndroid Build Coastguard Worker# the host build defaults to release, and it must be release or debug 237*9e94795aSAndroid Build Coastguard Workerifeq ($(HOST_BUILD_TYPE),) 238*9e94795aSAndroid Build Coastguard WorkerHOST_BUILD_TYPE := release 239*9e94795aSAndroid Build Coastguard Workerendif 240*9e94795aSAndroid Build Coastguard Worker 241*9e94795aSAndroid Build Coastguard Workerifneq ($(HOST_BUILD_TYPE),release) 242*9e94795aSAndroid Build Coastguard Workerifneq ($(HOST_BUILD_TYPE),debug) 243*9e94795aSAndroid Build Coastguard Worker$(error HOST_BUILD_TYPE must be either release or debug, not '$(HOST_BUILD_TYPE)') 244*9e94795aSAndroid Build Coastguard Workerendif 245*9e94795aSAndroid Build Coastguard Workerendif 246*9e94795aSAndroid Build Coastguard Worker 247*9e94795aSAndroid Build Coastguard Worker# We don't want to move all the prebuilt host tools to a $(HOST_OS)-x86_64 dir. 248*9e94795aSAndroid Build Coastguard WorkerHOST_PREBUILT_ARCH := x86 249*9e94795aSAndroid Build Coastguard Worker# This is the standard way to name a directory containing prebuilt host 250*9e94795aSAndroid Build Coastguard Worker# objects. E.g., prebuilt/$(HOST_PREBUILT_TAG)/cc 251*9e94795aSAndroid Build Coastguard Worker# This must match the logic in get_host_prebuilt_prefix in envsetup.sh 252*9e94795aSAndroid Build Coastguard WorkerHOST_PREBUILT_TAG := $(BUILD_OS)-$(HOST_PREBUILT_ARCH) 253*9e94795aSAndroid Build Coastguard Worker 254*9e94795aSAndroid Build Coastguard Worker# TARGET_COPY_OUT_* are all relative to the staging directory, ie PRODUCT_OUT. 255*9e94795aSAndroid Build Coastguard Worker# Define them here so they can be used in product config files. 256*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM := system 257*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm 258*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_OTHER := system_other 259*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_DATA := data 260*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_ASAN := $(TARGET_COPY_OUT_DATA)/asan 261*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_OEM := oem 262*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_RAMDISK := ramdisk 263*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_DEBUG_RAMDISK := debug_ramdisk 264*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_VENDOR_DEBUG_RAMDISK := vendor_debug_ramdisk 265*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_TEST_HARNESS_RAMDISK := test_harness_ramdisk 266*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_ROOT := root 267*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_RECOVERY := recovery 268*9e94795aSAndroid Build Coastguard Worker# The directory used for optional partitions depend on the BoardConfig, so 269*9e94795aSAndroid Build Coastguard Worker# they're defined to placeholder values here and swapped after reading the 270*9e94795aSAndroid Build Coastguard Worker# BoardConfig, to be either the partition dir, or a subdir within 'system'. 271*9e94795aSAndroid Build Coastguard Worker_vendor_path_placeholder := ||VENDOR-PATH-PH|| 272*9e94795aSAndroid Build Coastguard Worker_product_path_placeholder := ||PRODUCT-PATH-PH|| 273*9e94795aSAndroid Build Coastguard Worker_system_ext_path_placeholder := ||SYSTEM_EXT-PATH-PH|| 274*9e94795aSAndroid Build Coastguard Worker_odm_path_placeholder := ||ODM-PATH-PH|| 275*9e94795aSAndroid Build Coastguard Worker_vendor_dlkm_path_placeholder := ||VENDOR_DLKM-PATH-PH|| 276*9e94795aSAndroid Build Coastguard Worker_odm_dlkm_path_placeholder := ||ODM_DLKM-PATH-PH|| 277*9e94795aSAndroid Build Coastguard Worker_system_dlkm_path_placeholder := ||SYSTEM_DLKM-PATH-PH|| 278*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_VENDOR := $(_vendor_path_placeholder) 279*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_VENDOR_RAMDISK := vendor_ramdisk 280*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_VENDOR_KERNEL_RAMDISK := vendor_kernel_ramdisk 281*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_PRODUCT := $(_product_path_placeholder) 282*9e94795aSAndroid Build Coastguard Worker# TODO(b/135957588) TARGET_COPY_OUT_PRODUCT_SERVICES will copy the target to 283*9e94795aSAndroid Build Coastguard Worker# product 284*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_PRODUCT_SERVICES := $(_product_path_placeholder) 285*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_EXT := $(_system_ext_path_placeholder) 286*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_ODM := $(_odm_path_placeholder) 287*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_VENDOR_DLKM := $(_vendor_dlkm_path_placeholder) 288*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_ODM_DLKM := $(_odm_dlkm_path_placeholder) 289*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_DLKM := $(_system_dlkm_path_placeholder) 290*9e94795aSAndroid Build Coastguard Worker 291*9e94795aSAndroid Build Coastguard Worker# Returns the non-sanitized version of the path provided in $1. 292*9e94795aSAndroid Build Coastguard Workerdefine get_non_asan_path 293*9e94795aSAndroid Build Coastguard Worker$(patsubst $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/%,$(PRODUCT_OUT)/%,$1) 294*9e94795aSAndroid Build Coastguard Workerendef 295*9e94795aSAndroid Build Coastguard Worker 296*9e94795aSAndroid Build Coastguard Worker################################################################# 297*9e94795aSAndroid Build Coastguard Worker# Set up minimal BOOTCLASSPATH list of jars to build/execute 298*9e94795aSAndroid Build Coastguard Worker# java code with dalvikvm/art. 299*9e94795aSAndroid Build Coastguard Worker# Jars present in the ART apex. These should match exactly the list of Java 300*9e94795aSAndroid Build Coastguard Worker# libraries in art-bootclasspath-fragment. The APEX variant name 301*9e94795aSAndroid Build Coastguard Worker# (com.android.art) is the same regardless which Soong module provides the ART 302*9e94795aSAndroid Build Coastguard Worker# APEX. See the long comment in build/soong/java/dexprepopt_bootjars.go for 303*9e94795aSAndroid Build Coastguard Worker# details. 304*9e94795aSAndroid Build Coastguard WorkerART_APEX_JARS := \ 305*9e94795aSAndroid Build Coastguard Worker com.android.art:core-oj \ 306*9e94795aSAndroid Build Coastguard Worker com.android.art:core-libart \ 307*9e94795aSAndroid Build Coastguard Worker com.android.art:okhttp \ 308*9e94795aSAndroid Build Coastguard Worker com.android.art:bouncycastle \ 309*9e94795aSAndroid Build Coastguard Worker com.android.art:apache-xml 310*9e94795aSAndroid Build Coastguard Worker# With EMMA_INSTRUMENT_FRAMEWORK=true the Core libraries depend on jacoco. 311*9e94795aSAndroid Build Coastguard Workerifeq (true,$(EMMA_INSTRUMENT_FRAMEWORK)) 312*9e94795aSAndroid Build Coastguard Worker ART_APEX_JARS += com.android.art:jacocoagent 313*9e94795aSAndroid Build Coastguard Workerendif 314*9e94795aSAndroid Build Coastguard Worker################################################################# 315*9e94795aSAndroid Build Coastguard Worker 316*9e94795aSAndroid Build Coastguard Worker# Dumps all variables that match [A-Z][A-Z0-9_]* (with a few exceptions) 317*9e94795aSAndroid Build Coastguard Worker# to the file at $(1). It is used to print only the variables that are 318*9e94795aSAndroid Build Coastguard Worker# likely to be relevant to the product or board configuration. 319*9e94795aSAndroid Build Coastguard Worker# Soong config variables are dumped as $(call soong_config_set) calls 320*9e94795aSAndroid Build Coastguard Worker# instead of the raw variable values, because mk2rbc can't read the 321*9e94795aSAndroid Build Coastguard Worker# raw ones. There is a final sed command on the output file to 322*9e94795aSAndroid Build Coastguard Worker# remove leading spaces because I couldn't figure out how to remove 323*9e94795aSAndroid Build Coastguard Worker# them in pure make code. 324*9e94795aSAndroid Build Coastguard Workerdefine dump-variables-rbc 325*9e94795aSAndroid Build Coastguard Worker$(eval _dump_variables_rbc_excluded := \ 326*9e94795aSAndroid Build Coastguard Worker BUILD_NUMBER \ 327*9e94795aSAndroid Build Coastguard Worker DATE \ 328*9e94795aSAndroid Build Coastguard Worker LOCAL_PATH \ 329*9e94795aSAndroid Build Coastguard Worker MAKEFILE_LIST \ 330*9e94795aSAndroid Build Coastguard Worker PRODUCTS \ 331*9e94795aSAndroid Build Coastguard Worker PRODUCT_COPY_OUT_% \ 332*9e94795aSAndroid Build Coastguard Worker RBC_PRODUCT_CONFIG \ 333*9e94795aSAndroid Build Coastguard Worker RBC_BOARD_CONFIG \ 334*9e94795aSAndroid Build Coastguard Worker SOONG_% \ 335*9e94795aSAndroid Build Coastguard Worker TARGET_RELEASE \ 336*9e94795aSAndroid Build Coastguard Worker TOPDIR \ 337*9e94795aSAndroid Build Coastguard Worker TRACE_BEGIN_SOONG \ 338*9e94795aSAndroid Build Coastguard Worker USER) 339*9e94795aSAndroid Build Coastguard Worker$(file >$(OUT_DIR)/dump-variables-rbc-temp.txt,$(subst $(space),$(newline),$(sort $(filter-out $(_dump_variables_rbc_excluded),$(.VARIABLES))))) 340*9e94795aSAndroid Build Coastguard Worker$(file >$(1),\ 341*9e94795aSAndroid Build Coastguard Worker$(foreach v, $(shell grep -he "^[A-Z][A-Z0-9_]*$$" $(OUT_DIR)/dump-variables-rbc-temp.txt),\ 342*9e94795aSAndroid Build Coastguard Worker$(v) := $(strip $($(v)))$(newline))\ 343*9e94795aSAndroid Build Coastguard Worker$(foreach ns,$(sort $(SOONG_CONFIG_NAMESPACES)),\ 344*9e94795aSAndroid Build Coastguard Worker$(foreach v,$(sort $(SOONG_CONFIG_$(ns))),\ 345*9e94795aSAndroid Build Coastguard Worker$$(call soong_config_set,$(ns),$(v),$(SOONG_CONFIG_$(ns)_$(v)))$(newline)))) 346*9e94795aSAndroid Build Coastguard Worker$(shell sed -i "s/^ *//g" $(1)) 347*9e94795aSAndroid Build Coastguard Workerendef 348*9e94795aSAndroid Build Coastguard Worker 349*9e94795aSAndroid Build Coastguard Worker# Read the product specs so we can get TARGET_DEVICE and other 350*9e94795aSAndroid Build Coastguard Worker# variables that we need in order to locate the output files. 351*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/product_config.mk 352*9e94795aSAndroid Build Coastguard Worker 353*9e94795aSAndroid Build Coastguard Workerbuild_variant := $(filter-out eng user userdebug,$(TARGET_BUILD_VARIANT)) 354*9e94795aSAndroid Build Coastguard Workerifneq ($(build_variant)-$(words $(TARGET_BUILD_VARIANT)),-1) 355*9e94795aSAndroid Build Coastguard Worker$(warning bad TARGET_BUILD_VARIANT: $(TARGET_BUILD_VARIANT)) 356*9e94795aSAndroid Build Coastguard Worker$(error must be empty or one of: eng user userdebug) 357*9e94795aSAndroid Build Coastguard Workerendif 358*9e94795aSAndroid Build Coastguard Worker 359*9e94795aSAndroid Build Coastguard WorkerSDK_HOST_ARCH := x86 360*9e94795aSAndroid Build Coastguard WorkerTARGET_OS := linux 361*9e94795aSAndroid Build Coastguard Worker 362*9e94795aSAndroid Build Coastguard Worker# Some board configuration files use $(PRODUCT_OUT) 363*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ROOT := $(OUT_DIR)/target 364*9e94795aSAndroid Build Coastguard WorkerTARGET_PRODUCT_OUT_ROOT := $(TARGET_OUT_ROOT)/product 365*9e94795aSAndroid Build Coastguard WorkerPRODUCT_OUT := $(TARGET_PRODUCT_OUT_ROOT)/$(TARGET_DEVICE) 366*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_ROOT TARGET_PRODUCT_OUT_ROOT PRODUCT_OUT 367*9e94795aSAndroid Build Coastguard Worker 368*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/board_config.mk 369*9e94795aSAndroid Build Coastguard Worker 370*9e94795aSAndroid Build Coastguard Worker# the target build type defaults to release 371*9e94795aSAndroid Build Coastguard Workerifneq ($(TARGET_BUILD_TYPE),debug) 372*9e94795aSAndroid Build Coastguard WorkerTARGET_BUILD_TYPE := release 373*9e94795aSAndroid Build Coastguard Workerendif 374*9e94795aSAndroid Build Coastguard Worker 375*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/product_validation_checks.mk 376*9e94795aSAndroid Build Coastguard Worker 377*9e94795aSAndroid Build Coastguard Worker# --------------------------------------------------------------- 378*9e94795aSAndroid Build Coastguard Worker# figure out the output directories 379*9e94795aSAndroid Build Coastguard Worker 380*9e94795aSAndroid Build Coastguard WorkerSOONG_OUT_DIR := $(OUT_DIR)/soong 381*9e94795aSAndroid Build Coastguard Worker 382*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_ROOT := $(OUT_DIR)/host 383*9e94795aSAndroid Build Coastguard Worker 384*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := SOONG_OUT_DIR HOST_OUT_ROOT 385*9e94795aSAndroid Build Coastguard Worker 386*9e94795aSAndroid Build Coastguard Worker# We want to avoid two host bin directories in multilib build. 387*9e94795aSAndroid Build Coastguard WorkerHOST_OUT := $(HOST_OUT_ROOT)/$(HOST_OS)-$(HOST_PREBUILT_ARCH) 388*9e94795aSAndroid Build Coastguard Worker 389*9e94795aSAndroid Build Coastguard Worker# Soong now installs to the same directory as Make. 390*9e94795aSAndroid Build Coastguard WorkerSOONG_HOST_OUT := $(HOST_OUT) 391*9e94795aSAndroid Build Coastguard Worker 392*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT := $(HOST_OUT_ROOT)/$(HOST_CROSS_OS)-$(HOST_CROSS_ARCH) 393*9e94795aSAndroid Build Coastguard Worker 394*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := HOST_OUT SOONG_HOST_OUT HOST_CROSS_OUT 395*9e94795aSAndroid Build Coastguard Worker 396*9e94795aSAndroid Build Coastguard WorkerTARGET_COMMON_OUT_ROOT := $(TARGET_OUT_ROOT)/common 397*9e94795aSAndroid Build Coastguard WorkerHOST_COMMON_OUT_ROOT := $(HOST_OUT_ROOT)/common 398*9e94795aSAndroid Build Coastguard Worker 399*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_COMMON_OUT_ROOT HOST_COMMON_OUT_ROOT 400*9e94795aSAndroid Build Coastguard Worker 401*9e94795aSAndroid Build Coastguard WorkerOUT_DOCS := $(TARGET_COMMON_OUT_ROOT)/docs 402*9e94795aSAndroid Build Coastguard WorkerOUT_NDK_DOCS := $(TARGET_COMMON_OUT_ROOT)/ndk-docs 403*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := OUT_DOCS OUT_NDK_DOCS 404*9e94795aSAndroid Build Coastguard Worker 405*9e94795aSAndroid Build Coastguard Worker$(call KATI_obsolete,BUILD_OUT,Use HOST_OUT instead) 406*9e94795aSAndroid Build Coastguard Worker 407*9e94795aSAndroid Build Coastguard WorkerBUILD_OUT_EXECUTABLES := $(HOST_OUT)/bin 408*9e94795aSAndroid Build Coastguard WorkerSOONG_HOST_OUT_EXECUTABLES := $(SOONG_HOST_OUT)/bin 409*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := BUILD_OUT_EXECUTABLES SOONG_HOST_OUT_EXECUTABLES 410*9e94795aSAndroid Build Coastguard Worker 411*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_EXECUTABLES := $(HOST_OUT)/bin 412*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib64 413*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_DYLIB_LIBRARIES := $(HOST_OUT)/lib64 414*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_RENDERSCRIPT_BITCODE := $(HOST_OUT_SHARED_LIBRARIES) 415*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_JAVA_LIBRARIES := $(HOST_OUT)/framework 416*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_SDK_ADDON := $(HOST_OUT)/sdk_addon 417*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_NATIVE_TESTS := $(HOST_OUT)/nativetest64 418*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_COVERAGE := $(HOST_OUT)/coverage 419*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_TESTCASES := $(HOST_OUT)/testcases 420*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_ETC := $(HOST_OUT)/etc 421*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 422*9e94795aSAndroid Build Coastguard Worker HOST_OUT_EXECUTABLES \ 423*9e94795aSAndroid Build Coastguard Worker HOST_OUT_SHARED_LIBRARIES \ 424*9e94795aSAndroid Build Coastguard Worker HOST_OUT_RENDERSCRIPT_BITCODE \ 425*9e94795aSAndroid Build Coastguard Worker HOST_OUT_JAVA_LIBRARIES \ 426*9e94795aSAndroid Build Coastguard Worker HOST_OUT_SDK_ADDON \ 427*9e94795aSAndroid Build Coastguard Worker HOST_OUT_NATIVE_TESTS \ 428*9e94795aSAndroid Build Coastguard Worker HOST_OUT_COVERAGE \ 429*9e94795aSAndroid Build Coastguard Worker HOST_OUT_TESTCASES \ 430*9e94795aSAndroid Build Coastguard Worker HOST_OUT_ETC 431*9e94795aSAndroid Build Coastguard Worker 432*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT)/bin 433*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib 434*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest 435*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_COVERAGE := $(HOST_CROSS_OUT)/coverage 436*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_TESTCASES := $(HOST_CROSS_OUT)/testcases 437*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 438*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_EXECUTABLES \ 439*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_SHARED_LIBRARIES \ 440*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_NATIVE_TESTS \ 441*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_COVERAGE \ 442*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_TESTCASES 443*9e94795aSAndroid Build Coastguard Worker 444*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj 445*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_NOTICE_FILES := $(HOST_OUT_INTERMEDIATES)/NOTICE_FILES 446*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_COMMON_INTERMEDIATES := $(HOST_COMMON_OUT_ROOT)/obj 447*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_FAKE := $(HOST_OUT)/fake_packages 448*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 449*9e94795aSAndroid Build Coastguard Worker HOST_OUT_INTERMEDIATES \ 450*9e94795aSAndroid Build Coastguard Worker HOST_OUT_NOTICE_FILES \ 451*9e94795aSAndroid Build Coastguard Worker HOST_OUT_COMMON_INTERMEDIATES \ 452*9e94795aSAndroid Build Coastguard Worker HOST_OUT_FAKE 453*9e94795aSAndroid Build Coastguard Worker 454*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj 455*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_NOTICE_FILES := $(HOST_CROSS_OUT_INTERMEDIATES)/NOTICE_FILES 456*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 457*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_INTERMEDIATES \ 458*9e94795aSAndroid Build Coastguard Worker HOST_CROSS_OUT_NOTICE_FILES 459*9e94795aSAndroid Build Coastguard Worker 460*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_GEN := $(HOST_OUT)/gen 461*9e94795aSAndroid Build Coastguard WorkerHOST_OUT_COMMON_GEN := $(HOST_COMMON_OUT_ROOT)/gen 462*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 463*9e94795aSAndroid Build Coastguard Worker HOST_OUT_GEN \ 464*9e94795aSAndroid Build Coastguard Worker HOST_OUT_COMMON_GEN 465*9e94795aSAndroid Build Coastguard Worker 466*9e94795aSAndroid Build Coastguard WorkerHOST_CROSS_OUT_GEN := $(HOST_CROSS_OUT)/gen 467*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := HOST_CROSS_OUT_GEN 468*9e94795aSAndroid Build Coastguard Worker 469*9e94795aSAndroid Build Coastguard Worker# Out for HOST_2ND_ARCH 470*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj32 471*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib 472*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES := $(HOST_OUT_EXECUTABLES) 473*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT_JAVA_LIBRARIES) 474*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_NATIVE_TESTS := $(HOST_OUT)/nativetest 475*9e94795aSAndroid Build Coastguard Worker$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES := $(HOST_OUT_TESTCASES) 476*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 477*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES \ 478*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES \ 479*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES \ 480*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES \ 481*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_NATIVE_TESTS \ 482*9e94795aSAndroid Build Coastguard Worker $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES 483*9e94795aSAndroid Build Coastguard Worker 484*9e94795aSAndroid Build Coastguard Worker# The default host library path. 485*9e94795aSAndroid Build Coastguard Worker# It always points to the path where we build libraries in the default bitness. 486*9e94795aSAndroid Build Coastguard WorkerHOST_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES) 487*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := HOST_LIBRARY_PATH 488*9e94795aSAndroid Build Coastguard Worker 489*9e94795aSAndroid Build Coastguard Worker# Out for HOST_CROSS_2ND_ARCH 490*9e94795aSAndroid Build Coastguard Worker$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64 491*9e94795aSAndroid Build Coastguard Worker$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64 492*9e94795aSAndroid Build Coastguard Worker$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES) 493*9e94795aSAndroid Build Coastguard Worker$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest64 494*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 495*9e94795aSAndroid Build Coastguard Worker $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES \ 496*9e94795aSAndroid Build Coastguard Worker $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES \ 497*9e94795aSAndroid Build Coastguard Worker $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES \ 498*9e94795aSAndroid Build Coastguard Worker $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS 499*9e94795aSAndroid Build Coastguard Worker 500*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 501*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_asan 502*9e94795aSAndroid Build Coastguard Workerelse 503*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj 504*9e94795aSAndroid Build Coastguard Workerendif 505*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_HEADERS := $(TARGET_OUT_INTERMEDIATES)/include 506*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_INTERMEDIATES TARGET_OUT_HEADERS 507*9e94795aSAndroid Build Coastguard Worker 508*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 509*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_COMMON_INTERMEDIATES := $(TARGET_COMMON_OUT_ROOT)/obj_asan 510*9e94795aSAndroid Build Coastguard Workerelse 511*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_COMMON_INTERMEDIATES := $(TARGET_COMMON_OUT_ROOT)/obj 512*9e94795aSAndroid Build Coastguard Workerendif 513*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_COMMON_INTERMEDIATES 514*9e94795aSAndroid Build Coastguard Worker 515*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_GEN := $(PRODUCT_OUT)/gen 516*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_COMMON_GEN := $(TARGET_COMMON_OUT_ROOT)/gen 517*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_GEN TARGET_OUT_COMMON_GEN 518*9e94795aSAndroid Build Coastguard Worker 519*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM) 520*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT 521*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 522*9e94795aSAndroid Build Coastguard Workertarget_out_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/system 523*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 524*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 525*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 526*9e94795aSAndroid Build Coastguard Workertarget_out_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/system 527*9e94795aSAndroid Build Coastguard Workerelse 528*9e94795aSAndroid Build Coastguard Workertarget_out_app_base := $(TARGET_OUT) 529*9e94795aSAndroid Build Coastguard Workerendif 530*9e94795aSAndroid Build Coastguard Workerelse 531*9e94795aSAndroid Build Coastguard Workertarget_out_shared_libraries_base := $(TARGET_OUT) 532*9e94795aSAndroid Build Coastguard Workertarget_out_app_base := $(TARGET_OUT) 533*9e94795aSAndroid Build Coastguard Workerendif 534*9e94795aSAndroid Build Coastguard Worker 535*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_EXECUTABLES := $(TARGET_OUT)/bin 536*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OPTIONAL_EXECUTABLES := $(TARGET_OUT)/xbin 537*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 538*9e94795aSAndroid Build Coastguard Worker# /system/lib always contains 32-bit libraries, 539*9e94795aSAndroid Build Coastguard Worker# and /system/lib64 (if present) always contains 64-bit libraries. 540*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib64 541*9e94795aSAndroid Build Coastguard Workerelse 542*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib 543*9e94795aSAndroid Build Coastguard Workerendif 544*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_RENDERSCRIPT_BITCODE := $(TARGET_OUT_SHARED_LIBRARIES) 545*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_JAVA_LIBRARIES := $(TARGET_OUT)/framework 546*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_APPS := $(target_out_app_base)/app 547*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_APPS_PRIVILEGED := $(target_out_app_base)/priv-app 548*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_KEYLAYOUT := $(TARGET_OUT)/usr/keylayout 549*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_KEYCHARS := $(TARGET_OUT)/usr/keychars 550*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ETC := $(TARGET_OUT)/etc 551*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_NOTICE_FILES := $(TARGET_OUT_INTERMEDIATES)/NOTICE_FILES 552*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_FAKE := $(PRODUCT_OUT)/fake_packages 553*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_TESTCASES := $(PRODUCT_OUT)/testcases 554*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_FLAGS := $(TARGET_OUT_INTERMEDIATES)/FLAGS 555*9e94795aSAndroid Build Coastguard Worker 556*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 557*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_EXECUTABLES \ 558*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OPTIONAL_EXECUTABLES \ 559*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SHARED_LIBRARIES \ 560*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_RENDERSCRIPT_BITCODE \ 561*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_JAVA_LIBRARIES \ 562*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_APPS \ 563*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_APPS_PRIVILEGED \ 564*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_KEYLAYOUT \ 565*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_KEYCHARS \ 566*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ETC \ 567*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_NOTICE_FILES \ 568*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_FAKE \ 569*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_TESTCASES \ 570*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_FLAGS 571*9e94795aSAndroid Build Coastguard Worker 572*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 573*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 574*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 575*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_OTHER := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_SYSTEM_OTHER) 576*9e94795aSAndroid Build Coastguard Workerelse 577*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_OTHER := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM_OTHER) 578*9e94795aSAndroid Build Coastguard Workerendif 579*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_SYSTEM_OTHER 580*9e94795aSAndroid Build Coastguard Worker 581*9e94795aSAndroid Build Coastguard Worker# Out for TARGET_2ND_ARCH 582*9e94795aSAndroid Build Coastguard WorkerTARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX) 583*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_2ND_ARCH_MODULE_SUFFIX 584*9e94795aSAndroid Build Coastguard Worker 585*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 586*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)_asan 587*9e94795aSAndroid Build Coastguard Workerelse 588*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH) 589*9e94795aSAndroid Build Coastguard Workerendif 590*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib 591*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_RENDERSCRIPT_BITCODE := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES) 592*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_EXECUTABLES := $(TARGET_OUT_EXECUTABLES) 593*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS := $(TARGET_OUT_APPS) 594*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS_PRIVILEGED := $(TARGET_OUT_APPS_PRIVILEGED) 595*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_TESTCASES := $(TARGET_OUT_TESTCASES) 596*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 597*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES \ 598*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES \ 599*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_RENDERSCRIPT_BITCODE \ 600*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_EXECUTABLES \ 601*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS \ 602*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS_PRIVILEGED \ 603*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_TESTCASES 604*9e94795aSAndroid Build Coastguard Worker 605*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_APPS := app 606*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_EXECUTABLES := bin 607*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_JAVA_LIBRARIES := framework 608*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_NATIVE_TESTS := nativetest 609*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_METRIC_TESTS := benchmarktest 610*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_DATA) 611*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_EXECUTABLES := $(TARGET_OUT_EXECUTABLES) 612*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_SHARED_LIBRARIES := $(TARGET_OUT_SHARED_LIBRARIES) 613*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_JAVA_LIBRARIES := $(TARGET_OUT_DATA)/framework 614*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_APPS := $(TARGET_OUT_DATA)/app 615*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_KEYLAYOUT := $(TARGET_OUT_KEYLAYOUT) 616*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_KEYCHARS := $(TARGET_OUT_KEYCHARS) 617*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_ETC := $(TARGET_OUT_ETC) 618*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 619*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest64 620*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest64 621*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest64$(TARGET_VENDOR_TEST_SUFFIX) 622*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest64$(TARGET_VENDOR_TEST_SUFFIX) 623*9e94795aSAndroid Build Coastguard Workerelse 624*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest 625*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest 626*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest$(TARGET_VENDOR_TEST_SUFFIX) 627*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest$(TARGET_VENDOR_TEST_SUFFIX) 628*9e94795aSAndroid Build Coastguard Workerendif 629*9e94795aSAndroid Build Coastguard WorkerMODULE_CLASS_FAKE := fake_packages 630*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_DATA_FAKE := $(TARGET_OUT_DATA)/fake_packages 631*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 632*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA \ 633*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_EXECUTABLES \ 634*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_SHARED_LIBRARIES \ 635*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_JAVA_LIBRARIES \ 636*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_APPS \ 637*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_KEYLAYOUT \ 638*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_KEYCHARS \ 639*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_ETC \ 640*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_NATIVE_TESTS \ 641*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_METRIC_TESTS \ 642*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_NATIVE_TESTS \ 643*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_METRIC_TESTS \ 644*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_DATA_FAKE \ 645*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_APPS \ 646*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_EXECUTABLES \ 647*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_JAVA_LIBRARIES \ 648*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_NATIVE_TESTS \ 649*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_METRIC_TESTS \ 650*9e94795aSAndroid Build Coastguard Worker MODULE_CLASS_FAKE 651*9e94795aSAndroid Build Coastguard Worker 652*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_EXECUTABLES := $(TARGET_OUT_DATA_EXECUTABLES) 653*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_SHARED_LIBRARIES := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES) 654*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_APPS := $(TARGET_OUT_DATA_APPS) 655*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest 656*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest 657*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest$(TARGET_VENDOR_TEST_SUFFIX) 658*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_METRIC_TESTS := $(TARGET_OUT_DATA)/benchmarktest$(TARGET_VENDOR_TEST_SUFFIX) 659*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 660*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_EXECUTABLES \ 661*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_SHARED_LIBRARIES \ 662*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_APPS \ 663*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS \ 664*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_METRIC_TESTS \ 665*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_NATIVE_TESTS \ 666*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_METRIC_TESTS \ 667*9e94795aSAndroid Build Coastguard Worker 668*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_CACHE := $(PRODUCT_OUT)/cache 669*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_CACHE 670*9e94795aSAndroid Build Coastguard Worker 671*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR) 672*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_VENDOR 673*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 674*9e94795aSAndroid Build Coastguard Workertarget_out_vendor_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_VENDOR) 675*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 676*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 677*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 678*9e94795aSAndroid Build Coastguard Workertarget_out_vendor_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_VENDOR) 679*9e94795aSAndroid Build Coastguard Workerelse 680*9e94795aSAndroid Build Coastguard Workertarget_out_vendor_app_base := $(TARGET_OUT_VENDOR) 681*9e94795aSAndroid Build Coastguard Workerendif 682*9e94795aSAndroid Build Coastguard Workerelse 683*9e94795aSAndroid Build Coastguard Workertarget_out_vendor_shared_libraries_base := $(TARGET_OUT_VENDOR) 684*9e94795aSAndroid Build Coastguard Workertarget_out_vendor_app_base := $(TARGET_OUT_VENDOR) 685*9e94795aSAndroid Build Coastguard Workerendif 686*9e94795aSAndroid Build Coastguard Worker 687*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_EXECUTABLES := $(TARGET_OUT_VENDOR)/bin 688*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES := $(TARGET_OUT_VENDOR)/xbin 689*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 690*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_SHARED_LIBRARIES := $(target_out_vendor_shared_libraries_base)/lib64 691*9e94795aSAndroid Build Coastguard Workerelse 692*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_SHARED_LIBRARIES := $(target_out_vendor_shared_libraries_base)/lib 693*9e94795aSAndroid Build Coastguard Workerendif 694*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES) 695*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_JAVA_LIBRARIES := $(TARGET_OUT_VENDOR)/framework 696*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_APPS := $(target_out_vendor_app_base)/app 697*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_APPS_PRIVILEGED := $(target_out_vendor_app_base)/priv-app 698*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_ETC := $(TARGET_OUT_VENDOR)/etc 699*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_FAKE := $(PRODUCT_OUT)/vendor_fake_packages 700*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 701*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_EXECUTABLES \ 702*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES \ 703*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_SHARED_LIBRARIES \ 704*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE \ 705*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_JAVA_LIBRARIES \ 706*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_APPS \ 707*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_APPS_PRIVILEGED \ 708*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_ETC \ 709*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_FAKE 710*9e94795aSAndroid Build Coastguard Worker 711*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_EXECUTABLES := $(TARGET_OUT_VENDOR_EXECUTABLES) 712*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES := $(target_out_vendor_shared_libraries_base)/lib 713*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES) 714*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS := $(TARGET_OUT_VENDOR_APPS) 715*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS_PRIVILEGED := $(TARGET_OUT_VENDOR_APPS_PRIVILEGED) 716*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 717*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_EXECUTABLES \ 718*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES \ 719*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE \ 720*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS \ 721*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS_PRIVILEGED 722*9e94795aSAndroid Build Coastguard Worker 723*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_OEM) 724*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM_EXECUTABLES := $(TARGET_OUT_OEM)/bin 725*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 726*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib64 727*9e94795aSAndroid Build Coastguard Workerelse 728*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib 729*9e94795aSAndroid Build Coastguard Workerendif 730*9e94795aSAndroid Build Coastguard Worker# We don't expect Java libraries in the oem.img. 731*9e94795aSAndroid Build Coastguard Worker# TARGET_OUT_OEM_JAVA_LIBRARIES:= $(TARGET_OUT_OEM)/framework 732*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM_APPS := $(TARGET_OUT_OEM)/app 733*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_OEM_ETC := $(TARGET_OUT_OEM)/etc 734*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 735*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OEM \ 736*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OEM_EXECUTABLES \ 737*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OEM_SHARED_LIBRARIES \ 738*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OEM_APPS \ 739*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_OEM_ETC 740*9e94795aSAndroid Build Coastguard Worker 741*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_EXECUTABLES := $(TARGET_OUT_OEM_EXECUTABLES) 742*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_SHARED_LIBRARIES := $(TARGET_OUT_OEM)/lib 743*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_APPS := $(TARGET_OUT_OEM_APPS) 744*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 745*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_EXECUTABLES \ 746*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_SHARED_LIBRARIES \ 747*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_APPS \ 748*9e94795aSAndroid Build Coastguard Worker 749*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ODM) 750*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 751*9e94795aSAndroid Build Coastguard Workertarget_out_odm_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_OEM) 752*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 753*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 754*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 755*9e94795aSAndroid Build Coastguard Workertarget_out_odm_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_OEM) 756*9e94795aSAndroid Build Coastguard Workerelse 757*9e94795aSAndroid Build Coastguard Workertarget_out_odm_app_base := $(TARGET_OUT_ODM) 758*9e94795aSAndroid Build Coastguard Workerendif 759*9e94795aSAndroid Build Coastguard Workerelse 760*9e94795aSAndroid Build Coastguard Workertarget_out_odm_shared_libraries_base := $(TARGET_OUT_ODM) 761*9e94795aSAndroid Build Coastguard Workertarget_out_odm_app_base := $(TARGET_OUT_ODM) 762*9e94795aSAndroid Build Coastguard Workerendif 763*9e94795aSAndroid Build Coastguard Worker 764*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_EXECUTABLES := $(TARGET_OUT_ODM)/bin 765*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_OPTIONAL_EXECUTABLES := $(TARGET_OUT_ODM)/xbin 766*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 767*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_SHARED_LIBRARIES := $(target_out_odm_shared_libraries_base)/lib64 768*9e94795aSAndroid Build Coastguard Workerelse 769*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_SHARED_LIBRARIES := $(target_out_odm_shared_libraries_base)/lib 770*9e94795aSAndroid Build Coastguard Workerendif 771*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_RENDERSCRIPT_BITCODE := $(TARGET_OUT_ODM_SHARED_LIBRARIES) 772*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_JAVA_LIBRARIES := $(TARGET_OUT_ODM)/framework 773*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_APPS := $(target_out_odm_app_base)/app 774*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_APPS_PRIVILEGED := $(target_out_odm_app_base)/priv-app 775*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_ETC := $(TARGET_OUT_ODM)/etc 776*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_FAKE := $(PRODUCT_OUT)/odm_fake_packages 777*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 778*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM \ 779*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_EXECUTABLES \ 780*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_OPTIONAL_EXECUTABLES \ 781*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_SHARED_LIBRARIES \ 782*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_RENDERSCRIPT_BITCODE \ 783*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_JAVA_LIBRARIES \ 784*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_APPS \ 785*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_APPS_PRIVILEGED \ 786*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_ETC \ 787*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_FAKE 788*9e94795aSAndroid Build Coastguard Worker 789*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_EXECUTABLES := $(TARGET_OUT_ODM_EXECUTABLES) 790*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_SHARED_LIBRARIES := $(target_out_odm_shared_libraries_base)/lib 791*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_RENDERSCRIPT_BITCODE := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_SHARED_LIBRARIES) 792*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_APPS := $(TARGET_OUT_ODM_APPS) 793*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_APPS_PRIVILEGED := $(TARGET_OUT_ODM_APPS_PRIVILEGED) 794*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 795*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_EXECUTABLES \ 796*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_SHARED_LIBRARIES \ 797*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_RENDERSCRIPT_BITCODE \ 798*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_APPS \ 799*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_APPS_PRIVILEGED 800*9e94795aSAndroid Build Coastguard Worker 801*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR_DLKM) 802*9e94795aSAndroid Build Coastguard Worker 803*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_ETC := $(TARGET_OUT_VENDOR_DLKM)/etc 804*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 805*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_ETC 806*9e94795aSAndroid Build Coastguard Worker 807*9e94795aSAndroid Build Coastguard Worker# Unlike other partitions, vendor_dlkm should only contain kernel modules. 808*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_EXECUTABLES := 809*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_OPTIONAL_EXECUTABLES := 810*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_SHARED_LIBRARIES := 811*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_RENDERSCRIPT_BITCODE := 812*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_JAVA_LIBRARIES := 813*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_APPS := 814*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_DLKM_APPS_PRIVILEGED := 815*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_EXECUTABLES := 816*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_SHARED_LIBRARIES := 817*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_RENDERSCRIPT_BITCODE := 818*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_APPS := 819*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_APPS_PRIVILEGED := 820*9e94795aSAndroid Build Coastguard Worker$(KATI_obsolete_var \ 821*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_EXECUTABLES \ 822*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_OPTIONAL_EXECUTABLES \ 823*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_SHARED_LIBRARIES \ 824*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_RENDERSCRIPT_BITCODE \ 825*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_JAVA_LIBRARIES \ 826*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_APPS \ 827*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_DLKM_APPS_PRIVILEGED \ 828*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_EXECUTABLES \ 829*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_SHARED_LIBRARIES \ 830*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_RENDERSCRIPT_BITCODE \ 831*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_APPS \ 832*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_DLKM_APPS_PRIVILEGED \ 833*9e94795aSAndroid Build Coastguard Worker , vendor_dlkm should not contain any executables, libraries, or apps) 834*9e94795aSAndroid Build Coastguard Worker 835*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ODM_DLKM) 836*9e94795aSAndroid Build Coastguard Worker 837*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_ETC := $(TARGET_OUT_ODM_DLKM)/etc 838*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 839*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_ETC 840*9e94795aSAndroid Build Coastguard Worker 841*9e94795aSAndroid Build Coastguard Worker# Unlike other partitions, odm_dlkm should only contain kernel modules. 842*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_EXECUTABLES := 843*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_OPTIONAL_EXECUTABLES := 844*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_SHARED_LIBRARIES := 845*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_RENDERSCRIPT_BITCODE := 846*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_JAVA_LIBRARIES := 847*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_APPS := 848*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_ODM_DLKM_APPS_PRIVILEGED := 849*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_EXECUTABLES := 850*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_SHARED_LIBRARIES := 851*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_RENDERSCRIPT_BITCODE := 852*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_APPS := 853*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_APPS_PRIVILEGED := 854*9e94795aSAndroid Build Coastguard Worker$(KATI_obsolete_var \ 855*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_EXECUTABLES \ 856*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_OPTIONAL_EXECUTABLES \ 857*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_SHARED_LIBRARIES \ 858*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_RENDERSCRIPT_BITCODE \ 859*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_JAVA_LIBRARIES \ 860*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_APPS \ 861*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_ODM_DLKM_APPS_PRIVILEGED \ 862*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_EXECUTABLES \ 863*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_SHARED_LIBRARIES \ 864*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_RENDERSCRIPT_BITCODE \ 865*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_APPS \ 866*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_ODM_DLKM_APPS_PRIVILEGED \ 867*9e94795aSAndroid Build Coastguard Worker , odm_dlkm should not contain any executables, libraries, or apps) 868*9e94795aSAndroid Build Coastguard Worker 869*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM_DLKM) 870*9e94795aSAndroid Build Coastguard Worker 871*9e94795aSAndroid Build Coastguard Worker# Unlike other partitions, system_dlkm should only contain kernel modules. 872*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_EXECUTABLES := 873*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_OPTIONAL_EXECUTABLES := 874*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_SHARED_LIBRARIES := 875*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_RENDERSCRIPT_BITCODE := 876*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_JAVA_LIBRARIES := 877*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_APPS := 878*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_DLKM_APPS_PRIVILEGED := 879*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_EXECUTABLES := 880*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_SHARED_LIBRARIES := 881*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_RENDERSCRIPT_BITCODE := 882*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_APPS := 883*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_APPS_PRIVILEGED := 884*9e94795aSAndroid Build Coastguard Worker$(KATI_obsolete_var \ 885*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_EXECUTABLES \ 886*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_OPTIONAL_EXECUTABLES \ 887*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_SHARED_LIBRARIES \ 888*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_RENDERSCRIPT_BITCODE \ 889*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_JAVA_LIBRARIES \ 890*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_APPS \ 891*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_DLKM_APPS_PRIVILEGED \ 892*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_EXECUTABLES \ 893*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_SHARED_LIBRARIES \ 894*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_RENDERSCRIPT_BITCODE \ 895*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_APPS \ 896*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_DLKM_APPS_PRIVILEGED \ 897*9e94795aSAndroid Build Coastguard Worker , system_dlkm should not contain any executables, libraries, or apps) 898*9e94795aSAndroid Build Coastguard Worker 899*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_PRODUCT) 900*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_EXECUTABLES := $(TARGET_OUT_PRODUCT)/bin 901*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_PRODUCT 902*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 903*9e94795aSAndroid Build Coastguard Workertarget_out_product_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT) 904*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 905*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 906*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 907*9e94795aSAndroid Build Coastguard Workertarget_out_product_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT) 908*9e94795aSAndroid Build Coastguard Workerelse 909*9e94795aSAndroid Build Coastguard Workertarget_out_product_app_base := $(TARGET_OUT_PRODUCT) 910*9e94795aSAndroid Build Coastguard Workerendif 911*9e94795aSAndroid Build Coastguard Workerelse 912*9e94795aSAndroid Build Coastguard Workertarget_out_product_shared_libraries_base := $(TARGET_OUT_PRODUCT) 913*9e94795aSAndroid Build Coastguard Workertarget_out_product_app_base := $(TARGET_OUT_PRODUCT) 914*9e94795aSAndroid Build Coastguard Workerendif 915*9e94795aSAndroid Build Coastguard Worker 916*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 917*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_SHARED_LIBRARIES := $(target_out_product_shared_libraries_base)/lib64 918*9e94795aSAndroid Build Coastguard Workerelse 919*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_SHARED_LIBRARIES := $(target_out_product_shared_libraries_base)/lib 920*9e94795aSAndroid Build Coastguard Workerendif 921*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_JAVA_LIBRARIES := $(TARGET_OUT_PRODUCT)/framework 922*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_APPS := $(target_out_product_app_base)/app 923*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_APPS_PRIVILEGED := $(target_out_product_app_base)/priv-app 924*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_ETC := $(TARGET_OUT_PRODUCT)/etc 925*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_PRODUCT_FAKE := $(TARGET_OUT_PRODUCT)/product_fake_packages 926*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 927*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_EXECUTABLES \ 928*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_SHARED_LIBRARIES \ 929*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_JAVA_LIBRARIES \ 930*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_APPS \ 931*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_APPS_PRIVILEGED \ 932*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_ETC \ 933*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_PRODUCT_FAKE 934*9e94795aSAndroid Build Coastguard Worker 935*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_EXECUTABLES := $(TARGET_OUT_PRODUCT_EXECUTABLES) 936*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SHARED_LIBRARIES := $(target_out_product_shared_libraries_base)/lib 937*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS := $(TARGET_OUT_PRODUCT_APPS) 938*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS_PRIVILEGED := $(TARGET_OUT_PRODUCT_APPS_PRIVILEGED) 939*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 940*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_EXECUTABLES \ 941*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_SHARED_LIBRARIES \ 942*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS \ 943*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS_PRIVILEGED 944*9e94795aSAndroid Build Coastguard Worker 945*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM_EXT) 946*9e94795aSAndroid Build Coastguard Workerifneq ($(filter address,$(SANITIZE_TARGET)),) 947*9e94795aSAndroid Build Coastguard Workertarget_out_system_ext_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_SYSTEM_EXT) 948*9e94795aSAndroid Build Coastguard Workerifeq ($(SANITIZE_LITE),true) 949*9e94795aSAndroid Build Coastguard Worker# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not 950*9e94795aSAndroid Build Coastguard Worker# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/. 951*9e94795aSAndroid Build Coastguard Workertarget_out_system_ext_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_SYSTEM_EXT) 952*9e94795aSAndroid Build Coastguard Workerelse 953*9e94795aSAndroid Build Coastguard Workertarget_out_system_ext_app_base := $(TARGET_OUT_SYSTEM_EXT) 954*9e94795aSAndroid Build Coastguard Workerendif 955*9e94795aSAndroid Build Coastguard Workerelse 956*9e94795aSAndroid Build Coastguard Workertarget_out_system_ext_shared_libraries_base := $(TARGET_OUT_SYSTEM_EXT) 957*9e94795aSAndroid Build Coastguard Workertarget_out_system_ext_app_base := $(TARGET_OUT_SYSTEM_EXT) 958*9e94795aSAndroid Build Coastguard Workerendif 959*9e94795aSAndroid Build Coastguard Worker 960*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_IS_64_BIT),true) 961*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib64 962*9e94795aSAndroid Build Coastguard Workerelse 963*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib 964*9e94795aSAndroid Build Coastguard Workerendif 965*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_JAVA_LIBRARIES:= $(TARGET_OUT_SYSTEM_EXT)/framework 966*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_APPS := $(target_out_system_ext_app_base)/app 967*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED := $(target_out_system_ext_app_base)/priv-app 968*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_ETC := $(TARGET_OUT_SYSTEM_EXT)/etc 969*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_EXECUTABLES := $(TARGET_OUT_SYSTEM_EXT)/bin 970*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SYSTEM_EXT_FAKE := $(PRODUCT_OUT)/system_ext_fake_packages 971*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 972*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_EXECUTABLES \ 973*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES \ 974*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_JAVA_LIBRARIES \ 975*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_APPS \ 976*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED \ 977*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_ETC \ 978*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SYSTEM_EXT_FAKE 979*9e94795aSAndroid Build Coastguard Worker 980*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_EXECUTABLES := $(TARGET_OUT_SYSTEM_EXT_EXECUTABLES) 981*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES := $(target_out_system_ext_shared_libraries_base)/lib 982*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS := $(TARGET_OUT_SYSTEM_EXT_APPS) 983*9e94795aSAndroid Build Coastguard Worker$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED := $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED) 984*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 985*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_EXECUTABLES \ 986*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES \ 987*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS \ 988*9e94795aSAndroid Build Coastguard Worker $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED 989*9e94795aSAndroid Build Coastguard Worker 990*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_BREAKPAD := $(PRODUCT_OUT)/breakpad 991*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_OUT_BREAKPAD 992*9e94795aSAndroid Build Coastguard Worker 993*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_UNSTRIPPED := $(PRODUCT_OUT)/symbols 994*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_EXECUTABLES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/bin 995*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/lib 996*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_VENDOR_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/$(TARGET_COPY_OUT_VENDOR)/lib 997*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED) 998*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT_BIN_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/bin 999*9e94795aSAndroid Build Coastguard WorkerTARGET_OUT_COVERAGE := $(PRODUCT_OUT)/coverage 1000*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 1001*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_UNSTRIPPED \ 1002*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_EXECUTABLES_UNSTRIPPED \ 1003*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED \ 1004*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_VENDOR_SHARED_LIBRARIES_UNSTRIPPED \ 1005*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT_UNSTRIPPED \ 1006*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT_BIN_UNSTRIPPED \ 1007*9e94795aSAndroid Build Coastguard Worker TARGET_OUT_COVERAGE 1008*9e94795aSAndroid Build Coastguard Worker 1009*9e94795aSAndroid Build Coastguard WorkerTARGET_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_RAMDISK) 1010*9e94795aSAndroid Build Coastguard WorkerTARGET_RAMDISK_OUT_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED) 1011*9e94795aSAndroid Build Coastguard WorkerTARGET_DEBUG_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_DEBUG_RAMDISK) 1012*9e94795aSAndroid Build Coastguard WorkerTARGET_VENDOR_DEBUG_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR_DEBUG_RAMDISK) 1013*9e94795aSAndroid Build Coastguard WorkerTARGET_TEST_HARNESS_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_TEST_HARNESS_RAMDISK) 1014*9e94795aSAndroid Build Coastguard Worker 1015*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSTEM_DLKM_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM_DLKM) 1016*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := TARGET_SYSTEM_DLKM_OUT 1017*9e94795aSAndroid Build Coastguard Worker 1018*9e94795aSAndroid Build Coastguard WorkerTARGET_VENDOR_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR_RAMDISK) 1019*9e94795aSAndroid Build Coastguard WorkerTARGET_VENDOR_KERNEL_RAMDISK_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR_KERNEL_RAMDISK) 1020*9e94795aSAndroid Build Coastguard Worker 1021*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ROOT) 1022*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT_BIN := $(TARGET_ROOT_OUT)/bin 1023*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT_ETC := $(TARGET_ROOT_OUT)/etc 1024*9e94795aSAndroid Build Coastguard WorkerTARGET_ROOT_OUT_USR := $(TARGET_ROOT_OUT)/usr 1025*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 1026*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT \ 1027*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT_BIN \ 1028*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT_ETC \ 1029*9e94795aSAndroid Build Coastguard Worker TARGET_ROOT_OUT_USR 1030*9e94795aSAndroid Build Coastguard Worker 1031*9e94795aSAndroid Build Coastguard WorkerTARGET_RECOVERY_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_RECOVERY) 1032*9e94795aSAndroid Build Coastguard WorkerTARGET_RECOVERY_ROOT_OUT := $(TARGET_RECOVERY_OUT)/root 1033*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 1034*9e94795aSAndroid Build Coastguard Worker TARGET_RECOVERY_OUT \ 1035*9e94795aSAndroid Build Coastguard Worker TARGET_RECOVERY_ROOT_OUT 1036*9e94795aSAndroid Build Coastguard Worker 1037*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSLOADER_OUT := $(PRODUCT_OUT)/sysloader 1038*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSLOADER_ROOT_OUT := $(TARGET_SYSLOADER_OUT)/root 1039*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSLOADER_SYSTEM_OUT := $(TARGET_SYSLOADER_OUT)/root/system 1040*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 1041*9e94795aSAndroid Build Coastguard Worker TARGET_SYSLOADER_OUT \ 1042*9e94795aSAndroid Build Coastguard Worker TARGET_SYSLOADER_ROOT_OUT \ 1043*9e94795aSAndroid Build Coastguard Worker TARGET_SYSLOADER_SYSTEM_OUT 1044*9e94795aSAndroid Build Coastguard Worker 1045*9e94795aSAndroid Build Coastguard WorkerTARGET_INSTALLER_OUT := $(PRODUCT_OUT)/installer 1046*9e94795aSAndroid Build Coastguard WorkerTARGET_INSTALLER_DATA_OUT := $(TARGET_INSTALLER_OUT)/data 1047*9e94795aSAndroid Build Coastguard WorkerTARGET_INSTALLER_ROOT_OUT := $(TARGET_INSTALLER_OUT)/root 1048*9e94795aSAndroid Build Coastguard WorkerTARGET_INSTALLER_SYSTEM_OUT := $(TARGET_INSTALLER_OUT)/root/system 1049*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := \ 1050*9e94795aSAndroid Build Coastguard Worker TARGET_INSTALLER_OUT \ 1051*9e94795aSAndroid Build Coastguard Worker TARGET_INSTALLER_DATA_OUT \ 1052*9e94795aSAndroid Build Coastguard Worker TARGET_INSTALLER_ROOT_OUT \ 1053*9e94795aSAndroid Build Coastguard Worker TARGET_INSTALLER_SYSTEM_OUT 1054*9e94795aSAndroid Build Coastguard Worker 1055*9e94795aSAndroid Build Coastguard WorkerCOMMON_MODULE_CLASSES := TARGET_NOTICE_FILES HOST_NOTICE_FILES HOST_JAVA_LIBRARIES 1056*9e94795aSAndroid Build Coastguard WorkerPER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES RLIB_LIBRARIES DYLIB_LIBRARIES 1057*9e94795aSAndroid Build Coastguard Worker.KATI_READONLY := COMMON_MODULE_CLASSES PER_ARCH_MODULE_CLASSES 1058*9e94795aSAndroid Build Coastguard Worker 1059*9e94795aSAndroid Build Coastguard Workerifeq ($(CALLED_FROM_SETUP),true) 1060*9e94795aSAndroid Build Coastguard WorkerPRINT_BUILD_CONFIG ?= true 1061*9e94795aSAndroid Build Coastguard Workerendif 1062