From 5b6b6bb9744c5d55296b2100acadd5ba1125c03e Mon Sep 17 00:00:00 2001 From: Shinichiro Hamaji Date: Mon, 17 Aug 2015 17:41:29 +0900 Subject: [PATCH] Add two flags for the latest ckati * --regen Re-generate build.ninja only when necessary. If either 1. .mk file is updated, 2. environment variable is updated, 3. $(wildcard) result is changed, or 4. $(shell) result is changed, ckati will regenerate ninja file. This check takes only ~1 second, so incremental build will become much faster even without "fastincremental" target. * --ignore_dirty=out/%: Some .mk files in out/ (e.g., out/target/product/generic/previous_build_config.mk) are updated while ckati is running. With this flag, ckati does not regenerate build.ninja when they look modified. This should be OK for ninja based build, as ninja handles command line changes nicely. Change-Id: I7a2fca0e327d999599d6b16f06358e8a5e657565 --- core/ninja.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/ninja.mk b/core/ninja.mk index de133c5d9..057f091d3 100644 --- a/core/ninja.mk +++ b/core/ninja.mk @@ -38,7 +38,7 @@ $(KATI_OUTPUTS): kati.intermediate $(KATI_FORCE) kati.intermediate: $(KATI) @echo Running kati to generate build.ninja... @#TODO: use separate ninja file for mm or single target build - $(hide) $(KATI) --ninja --ninja_dir=$(PRODUCT_OUT) --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo --use_find_emulator -f build/core/main.mk $(ANDROID_TARGETS) USE_NINJA=false + $(hide) $(KATI) --ninja --ninja_dir=$(PRODUCT_OUT) --regen --ignore_dirty=$(OUT_DIR)/% --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo --use_find_emulator -f build/core/main.mk $(ANDROID_TARGETS) USE_NINJA=false KATI_CXX := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_CPPFLAGS) KATI_LD := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_LDFLAGS)