• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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