| ifeq ($(filter address,$(SANITIZE_HOST)),) |
| NINJA ?= prebuilts/build-tools/$(HOST_PREBUILT_TAG)/bin/ninja |
| else |
| NINJA ?= prebuilts/build-tools/$(HOST_PREBUILT_TAG)/asan/bin/ninja |
| endif |
| |
| KATI_OUTPUT_PATTERNS := $(OUT_DIR)/build%.ninja $(OUT_DIR)/ninja%.sh |
| |
| # Modifier goals we don't need to pass to Ninja. |
| NINJA_EXCLUDE_GOALS := all |
| |
| # A list of goals which affect parsing of makefiles and we need to pass to Kati. |
| PARSE_TIME_MAKE_GOALS := \ |
| $(PARSE_TIME_MAKE_GOALS) \ |
| $(dont_bother_goals) \ |
| all \ |
| brillo_tests \ |
| btnod \ |
| build-art% \ |
| build_kernel-nodeps \ |
| clean-oat% \ |
| continuous_instrumentation_tests \ |
| continuous_native_tests \ |
| cts \ |
| custom_images \ |
| dicttool_aosp \ |
| docs \ |
| eng \ |
| oem_image \ |
| online-system-api-sdk-docs \ |
| product-graph \ |
| samplecode \ |
| sdk \ |
| sdk_addon \ |
| sdk_repo \ |
| stnod \ |
| test-art% \ |
| user \ |
| userdataimage \ |
| userdebug |
| |
| include $(wildcard vendor/*/build/ninja_config.mk) |
| |
| # Any Android goals that need to be built. |
| ANDROID_GOALS := $(filter-out $(KATI_OUTPUT_PATTERNS),\ |
| $(sort $(ORIGINAL_MAKECMDGOALS) $(MAKECMDGOALS))) |
| # Temporary compatibility support until the build server configs are updated |
| ANDROID_GOALS := $(patsubst win_sdk,sdk,$(ANDROID_GOALS)) |
| ifneq ($(HOST_OS),linux) |
| ANDROID_GOALS := $(filter-out sdk,$(ANDROID_GOALS)) |
| ANDROID_GOALS := $(patsubst sdk_repo,sdk-repo-build-tools sdk-repo-platform-tools,$(ANDROID_GOALS)) |
| endif |
| # Goals we need to pass to Ninja. |
| NINJA_GOALS := $(filter-out $(NINJA_EXCLUDE_GOALS), $(ANDROID_GOALS)) |
| ifndef NINJA_GOALS |
| NINJA_GOALS := droid |
| endif |
| # Goals we need to pass to Kati. |
| KATI_GOALS := $(filter $(PARSE_TIME_MAKE_GOALS), $(ANDROID_GOALS)) |