1ifeq ($(filter address,$(SANITIZE_HOST)),) 2NINJA ?= prebuilts/build-tools/$(HOST_PREBUILT_TAG)/bin/ninja 3else 4NINJA ?= prebuilts/build-tools/$(HOST_PREBUILT_TAG)/asan/bin/ninja 5endif 6 7KATI_OUTPUT_PATTERNS := $(OUT_DIR)/build%.ninja $(OUT_DIR)/ninja%.sh 8 9# Modifier goals we don't need to pass to Ninja. 10NINJA_EXCLUDE_GOALS := all 11 12# A list of goals which affect parsing of makefiles and we need to pass to Kati. 13PARSE_TIME_MAKE_GOALS := \ 14 $(PARSE_TIME_MAKE_GOALS) \ 15 $(dont_bother_goals) \ 16 all \ 17 brillo_tests \ 18 btnod \ 19 build-art% \ 20 build_kernel-nodeps \ 21 clean-oat% \ 22 custom_images \ 23 dicttool_aosp \ 24 docs \ 25 eng \ 26 oem_image \ 27 online-system-api-sdk-docs \ 28 product-graph \ 29 samplecode \ 30 sdk \ 31 sdk_addon \ 32 sdk_repo \ 33 stnod \ 34 test-art% \ 35 user \ 36 userdataimage \ 37 userdebug 38 39include $(wildcard vendor/*/build/ninja_config.mk) 40 41# Any Android goals that need to be built. 42ANDROID_GOALS := $(filter-out $(KATI_OUTPUT_PATTERNS),\ 43 $(sort $(ORIGINAL_MAKECMDGOALS) $(MAKECMDGOALS))) 44# Temporary compatibility support until the build server configs are updated 45ANDROID_GOALS := $(patsubst win_sdk,sdk,$(ANDROID_GOALS)) 46ifneq ($(HOST_OS),linux) 47 ANDROID_GOALS := $(filter-out sdk,$(ANDROID_GOALS)) 48 ANDROID_GOALS := $(patsubst sdk_repo,sdk-repo-build-tools sdk-repo-platform-tools,$(ANDROID_GOALS)) 49endif 50# Goals we need to pass to Ninja. 51NINJA_GOALS := $(filter-out $(NINJA_EXCLUDE_GOALS), $(ANDROID_GOALS)) 52ifndef NINJA_GOALS 53 NINJA_GOALS := droid 54endif 55# Goals we need to pass to Kati. 56KATI_GOALS := $(filter $(PARSE_TIME_MAKE_GOALS), $(ANDROID_GOALS)) 57