forked from openkylin/platform_build
Merge "Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS."
am: 5dd68067a6
* commit '5dd68067a6a5e48b29882ca065606ab85b20d3d7':
Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
This commit is contained in:
commit
32078cd8b2
|
@ -22,6 +22,11 @@ dist: ;
|
|||
|
||||
dist_goal := $(strip $(filter dist,$(MAKECMDGOALS)))
|
||||
MAKECMDGOALS := $(strip $(filter-out dist,$(MAKECMDGOALS)))
|
||||
ifeq (,$(strip $(filter-out $(INTERNAL_MODIFIER_TARGETS),$(MAKECMDGOALS))))
|
||||
# The commandline was something like "make dist" or "make dist showcommands".
|
||||
# Add a dependency on a real target.
|
||||
dist: $(DEFAULT_GOAL)
|
||||
endif
|
||||
|
||||
ifdef dist_goal
|
||||
|
||||
|
|
|
@ -426,7 +426,7 @@ ifdef is_sdk_build
|
|||
sdk_repo_goal := $(strip $(filter sdk_repo,$(MAKECMDGOALS)))
|
||||
MAKECMDGOALS := $(strip $(filter-out sdk_repo,$(MAKECMDGOALS)))
|
||||
|
||||
ifneq ($(words $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild emulator_tests target-files-package,$(MAKECMDGOALS))),1)
|
||||
ifneq ($(words $(sort $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild emulator_tests target-files-package,$(MAKECMDGOALS)))),1)
|
||||
$(error The 'sdk' target may not be specified with any other targets)
|
||||
endif
|
||||
|
||||
|
|
|
@ -2,11 +2,16 @@ KATI ?= $(HOST_OUT_EXECUTABLES)/ckati
|
|||
MAKEPARALLEL ?= $(HOST_OUT_EXECUTABLES)/makeparallel
|
||||
|
||||
KATI_OUTPUT_PATTERNS := $(OUT_DIR)/build%.ninja $(OUT_DIR)/ninja%.sh
|
||||
NINJA_GOALS := droid showcommands
|
||||
# A list of goals which affect parsing of make.
|
||||
|
||||
# Modifier goals we don't need to pass to Ninja.
|
||||
NINJA_EXCLUDE_GOALS := showcommands all dist
|
||||
.PHONY : $(NINJA_EXCLUDE_GOALS)
|
||||
|
||||
# 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 \
|
||||
APP-% \
|
||||
DUMP_% \
|
||||
ECLIPSE-% \
|
||||
|
@ -52,17 +57,21 @@ PARSE_TIME_MAKE_GOALS := \
|
|||
|
||||
-include vendor/google/build/ninja_config.mk
|
||||
|
||||
ANDROID_TARGETS := $(filter-out $(KATI_OUTPUT_PATTERNS) $(NINJA_GOALS),$(ORIGINAL_MAKECMDGOALS))
|
||||
EXTRA_TARGETS := $(filter-out $(KATI_OUTPUT_PATTERNS) $(NINJA_GOALS),$(filter-out $(ORIGINAL_MAKECMDGOALS),$(MAKECMDGOALS)))
|
||||
KATI_TARGETS := $(filter $(PARSE_TIME_MAKE_GOALS),$(ANDROID_TARGETS))
|
||||
# Any Android goals that need to be built.
|
||||
ANDROID_GOALS := $(filter-out $(KATI_OUTPUT_PATTERNS) $(KATI) $(MAKEPARALLEL),\
|
||||
$(sort $(ORIGINAL_MAKECMDGOALS) $(MAKECMDGOALS)))
|
||||
# Goals we need to pass to Ninja.
|
||||
NINJA_GOALS := $(filter-out $(NINJA_EXCLUDE_GOALS), $(ANDROID_GOALS))
|
||||
# Goals we need to pass to Kati.
|
||||
KATI_GOALS := $(filter $(PARSE_TIME_MAKE_GOALS), $(ANDROID_GOALS))
|
||||
|
||||
define replace_space_and_slash
|
||||
$(subst /,_,$(subst $(space),_,$(sort $1)))
|
||||
endef
|
||||
|
||||
KATI_NINJA_SUFFIX := -$(TARGET_PRODUCT)
|
||||
ifneq ($(KATI_TARGETS),)
|
||||
KATI_NINJA_SUFFIX := $(KATI_NINJA_SUFFIX)-$(call replace_space_and_slash,$(KATI_TARGETS))
|
||||
ifneq ($(KATI_GOALS),)
|
||||
KATI_NINJA_SUFFIX := $(KATI_NINJA_SUFFIX)-$(call replace_space_and_slash,$(KATI_GOALS))
|
||||
endif
|
||||
ifneq ($(ONE_SHOT_MAKEFILE),)
|
||||
KATI_NINJA_SUFFIX := $(KATI_NINJA_SUFFIX)-mmm-$(call replace_space_and_slash,$(ONE_SHOT_MAKEFILE))
|
||||
|
@ -72,14 +81,12 @@ KATI_NINJA_SUFFIX := $(KATI_NINJA_SUFFIX)-mmma-$(call replace_space_and_slash,$(
|
|||
endif
|
||||
|
||||
my_checksum_suffix :=
|
||||
ifneq ($(KATI_NINJA_SUFFIX),)
|
||||
my_ninja_suffix_too_long := $(filter 1, $(shell v='$(KATI_NINJA_SUFFIX)' && echo $$(($${$(pound)v} > 64))))
|
||||
ifneq ($(my_ninja_suffix_too_long),)
|
||||
# Replace the suffix with a checksum if it gets too long.
|
||||
my_checksum_suffix := $(KATI_NINJA_SUFFIX)
|
||||
KATI_NINJA_SUFFIX := -$(word 1, $(shell echo $(my_checksum_suffix) | $(MD5SUM)))
|
||||
endif
|
||||
endif
|
||||
|
||||
KATI_BUILD_NINJA := $(OUT_DIR)/build$(KATI_NINJA_SUFFIX).ninja
|
||||
KATI_NINJA_SH := $(OUT_DIR)/ninja$(KATI_NINJA_SUFFIX).sh
|
||||
|
@ -97,8 +104,6 @@ endif
|
|||
|
||||
ifneq (,$(filter showcommands,$(ORIGINAL_MAKECMDGOALS)))
|
||||
NINJA_ARGS += "-v"
|
||||
PHONY: showcommands
|
||||
showcommands: droid
|
||||
endif
|
||||
|
||||
ifdef USE_GOMA
|
||||
|
@ -112,13 +117,13 @@ else
|
|||
NINJA_MAKEPARALLEL := $(MAKEPARALLEL) --ninja
|
||||
endif
|
||||
|
||||
droid $(ANDROID_TARGETS) $(EXTRA_TARGETS): ninja_wrapper
|
||||
$(sort $(DEFAULT_GOAL) $(ANDROID_GOALS)) : ninja_wrapper
|
||||
@#empty
|
||||
|
||||
.PHONY: ninja_wrapper
|
||||
ninja_wrapper: $(KATI_BUILD_NINJA) $(MAKEPARALLEL)
|
||||
@echo Starting build with ninja
|
||||
+$(hide) PATH=prebuilts/ninja/$(HOST_PREBUILT_TAG)/:$$PATH NINJA_STATUS="$(NINJA_STATUS)" $(NINJA_MAKEPARALLEL) $(KATI_NINJA_SH) $(filter-out dist,$(ANDROID_TARGETS)) -C $(TOP) $(NINJA_ARGS)
|
||||
+$(hide) PATH=prebuilts/ninja/$(HOST_PREBUILT_TAG)/:$$PATH NINJA_STATUS="$(NINJA_STATUS)" $(NINJA_MAKEPARALLEL) $(KATI_NINJA_SH) $(NINJA_GOALS) -C $(TOP) $(NINJA_ARGS)
|
||||
|
||||
KATI_FIND_EMULATOR := --use_find_emulator
|
||||
ifeq ($(KATI_EMULATE_FIND),false)
|
||||
|
@ -126,7 +131,7 @@ ifeq ($(KATI_EMULATE_FIND),false)
|
|||
endif
|
||||
$(KATI_BUILD_NINJA): $(KATI) $(MAKEPARALLEL) FORCE
|
||||
@echo Running kati to generate build$(KATI_NINJA_SUFFIX).ninja...
|
||||
+$(hide) $(KATI_MAKEPARALLEL) $(KATI) --ninja --ninja_dir=$(OUT_DIR) --ninja_suffix=$(KATI_NINJA_SUFFIX) --regen --ignore_dirty=$(OUT_DIR)/% --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo $(KATI_FIND_EMULATOR) -f build/core/main.mk $(KATI_TARGETS) --gen_all_targets BUILDING_WITH_NINJA=true
|
||||
+$(hide) $(KATI_MAKEPARALLEL) $(KATI) --ninja --ninja_dir=$(OUT_DIR) --ninja_suffix=$(KATI_NINJA_SUFFIX) --regen --ignore_dirty=$(OUT_DIR)/% --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo $(KATI_FIND_EMULATOR) -f build/core/main.mk $(KATI_GOALS) --gen_all_targets BUILDING_WITH_NINJA=true
|
||||
|
||||
KATI_CXX := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_CFLAGS) $(CLANG_HOST_GLOBAL_CPPFLAGS)
|
||||
KATI_LD := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_LDFLAGS)
|
||||
|
|
Loading…
Reference in New Issue