am f8f448b3
: Merge "Build with kati+ninja when USE_NINJA=true"
* commit 'f8f448b3cac0bebdd8012fec5087af7805885f2d': Build with kati+ninja when USE_NINJA=true
This commit is contained in:
commit
4f4c7c2228
2 changed files with 55 additions and 0 deletions
|
@ -93,6 +93,10 @@ include $(BUILD_SYSTEM)/help.mk
|
|||
# and host information.
|
||||
include $(BUILD_SYSTEM)/config.mk
|
||||
|
||||
ifeq ($(USE_NINJA),true)
|
||||
include build/core/ninja.mk
|
||||
else # !USE_NINJA
|
||||
|
||||
# Write the build number to a file so it can be read back in
|
||||
# without changing the command line every time. Avoids rebuilds
|
||||
# when using ninja.
|
||||
|
@ -1065,3 +1069,4 @@ showcommands:
|
|||
.PHONY: nothing
|
||||
nothing:
|
||||
@echo Successfully read the makefiles.
|
||||
endif # !USE_NINJA
|
||||
|
|
50
core/ninja.mk
Normal file
50
core/ninja.mk
Normal file
|
@ -0,0 +1,50 @@
|
|||
KATI ?= $(HOST_OUT_EXECUTABLES)/ckati
|
||||
|
||||
KATI_OUTPUTS := $(PRODUCT_OUT)/build.ninja $(PRODUCT_OUT)/ninja.sh
|
||||
NINJA_GOALS := fastincremental generateonly droid showcommands
|
||||
|
||||
ANDROID_TARGETS := $(filter-out $(KATI_OUTPUTS) $(NINJA_GOALS),$(MAKECMDGOALS))
|
||||
|
||||
ifeq (,$(NINJA_STATUS))
|
||||
NINJA_STATUS := [%p %s/%t]$(space)
|
||||
endif
|
||||
|
||||
ifneq (,$(filter showcommands,$(MAKECMDGOALS)))
|
||||
NINJA_ARGS += "-v"
|
||||
PHONY: showcommands
|
||||
showcommands: droid
|
||||
endif
|
||||
|
||||
ifeq (,$(filter generateonly,$(MAKECMDGOALS)))
|
||||
fastincremental droid $(ANDROID_TARGETS): ninja.intermediate
|
||||
@#empty
|
||||
|
||||
.INTERMEDIATE: ninja.intermediate
|
||||
ninja.intermediate: $(KATI_OUTPUTS)
|
||||
@echo Starting build with ninja
|
||||
@PATH=prebuilts/ninja/$(HOST_PREBUILT_TAG)/:$$PATH NINJA_STATUS="$(NINJA_STATUS)" $(PRODUCT_OUT)/ninja.sh -C $(TOP) $(NINJA_ARGS) $(ANDROID_TARGETS)
|
||||
else
|
||||
generateonly droid $(ANDROID_TARGETS): $(KATI_OUTPUTS)
|
||||
@#empty
|
||||
endif
|
||||
|
||||
ifeq (,$(filter fastincremental,$(MAKECMDGOALS)))
|
||||
KATI_FORCE := FORCE
|
||||
endif
|
||||
|
||||
$(KATI_OUTPUTS): kati.intermediate $(KATI_FORCE)
|
||||
|
||||
.INTERMEDIATE: kati.intermediate
|
||||
kati.intermediate: $(KATI)
|
||||
@echo Running kati to generate build.ninja...
|
||||
@#TODO: use separate ninja file for mm or single target build
|
||||
@$(KATI) --ninja --ninja_dir=$(PRODUCT_OUT) --ignore_optional_include=out/%.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)
|
||||
KATI_INTERMEDIATES_PATH := $(HOST_OUT_INTERMEDIATES)/EXECUTABLES/ckati_intermediates
|
||||
KATI_BIN_PATH := $(HOST_OUT_EXECUTABLES)
|
||||
include build/kati/Makefile.ckati
|
||||
|
||||
.PHONY: FORCE
|
||||
FORCE:
|
Loading…
Reference in a new issue