Home | History | Annotate | Download | only in core
      1 # ---------------------------------------------------------------
      2 # the setpath shell function in envsetup.sh uses this to figure out
      3 # what to add to the path given the config we have chosen.
      4 ifeq ($(CALLED_FROM_SETUP),true)
      5 
      6 ifneq ($(filter /%,$(HOST_OUT_EXECUTABLES)),)
      7 ABP:=$(HOST_OUT_EXECUTABLES)
      8 else
      9 ABP:=$(PWD)/$(HOST_OUT_EXECUTABLES)
     10 endif
     11 
     12 # Add the ARM toolchain bin dir if it actually exists
     13 ifeq ($(TARGET_ARCH),arm)
     14     ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-$(TARGET_GCC_VERSION)/bin),)
     15         # this should be copied to HOST_OUT_EXECUTABLES instead
     16         ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-$(TARGET_GCC_VERSION)/bin
     17     endif
     18     ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin),)
     19         # this should be copied to HOST_OUT_EXECUTABLES instead
     20         ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin
     21     endif
     22 else ifeq ($(TARGET_ARCH),x86)
     23 
     24 # Add the x86 toolchain bin dir if it actually exists
     25     ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/x86/i686-linux-android-$(TARGET_GCC_VERSION)/bin),)
     26         # this should be copied to HOST_OUT_EXECUTABLES instead
     27         ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/x86/i686-linux-android-$(TARGET_GCC_VERSION)/bin
     28     endif
     29 endif
     30 
     31 # Add the mips toolchain bin dir if it actually exists
     32 ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/mips/mipsel-linux-android-$(TARGET_GCC_VERSION)/bin),)
     33     # this should be copied to HOST_OUT_EXECUTABLES instead
     34     ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/mips/mipsel-linux-android-$(TARGET_GCC_VERSION)/bin
     35 endif
     36 
     37 ANDROID_BUILD_PATHS := $(ABP)
     38 ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
     39 ANDROID_GCC_PREBUILTS := prebuilts/gcc/$(HOST_PREBUILT_TAG)
     40 
     41 # The "dumpvar" stuff lets you say something like
     42 #
     43 #     CALLED_FROM_SETUP=true \
     44 #       make -f config/envsetup.make dumpvar-TARGET_OUT
     45 # or
     46 #     CALLED_FROM_SETUP=true \
     47 #       make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES
     48 #
     49 # The plain (non-abs) version just dumps the value of the named variable.
     50 # The "abs" version will treat the variable as a path, and dumps an
     51 # absolute path to it.
     52 #
     53 dumpvar_goals := \
     54 	$(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS))))
     55 ifdef dumpvar_goals
     56 
     57   ifneq ($(words $(dumpvar_goals)),1)
     58     $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)")
     59   endif
     60 
     61   # If the goal is of the form "dumpvar-abs-VARNAME", then
     62   # treat VARNAME as a path and return the absolute path to it.
     63   absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals)))
     64   ifdef absolute_dumpvar
     65     dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals))
     66     ifneq ($(filter /%,$($(dumpvar_goals))),)
     67       DUMPVAR_VALUE := $($(dumpvar_goals))
     68     else
     69       DUMPVAR_VALUE := $(PWD)/$($(dumpvar_goals))
     70     endif
     71     dumpvar_target := dumpvar-abs-$(dumpvar_goals)
     72   else
     73     DUMPVAR_VALUE := $($(dumpvar_goals))
     74     dumpvar_target := dumpvar-$(dumpvar_goals)
     75   endif
     76 
     77 .PHONY: $(dumpvar_target)
     78 $(dumpvar_target):
     79 	@echo $(DUMPVAR_VALUE)
     80 
     81 endif # dumpvar_goals
     82 
     83 ifneq ($(dumpvar_goals),report_config)
     84 PRINT_BUILD_CONFIG:=
     85 endif
     86 
     87 endif # CALLED_FROM_SETUP
     88 
     89 
     90 ifneq ($(PRINT_BUILD_CONFIG),)
     91 HOST_OS_EXTRA:=$(shell python -c "import platform; print(platform.platform())")
     92 $(info ============================================)
     93 $(info   PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME))
     94 $(info   PLATFORM_VERSION=$(PLATFORM_VERSION))
     95 $(info   TARGET_PRODUCT=$(TARGET_PRODUCT))
     96 $(info   TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT))
     97 $(info   TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE))
     98 $(info   TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
     99 $(info   TARGET_ARCH=$(TARGET_ARCH))
    100 $(info   TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT))
    101 $(info   TARGET_CPU_VARIANT=$(TARGET_CPU_VARIANT))
    102 $(info   HOST_ARCH=$(HOST_ARCH))
    103 $(info   HOST_OS=$(HOST_OS))
    104 $(info   HOST_OS_EXTRA=$(HOST_OS_EXTRA))
    105 $(info   HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
    106 $(info   BUILD_ID=$(BUILD_ID))
    107 $(info   OUT_DIR=$(OUT_DIR))
    108 $(info ============================================)
    109 endif
    110