diff --git a/make/Init.gmk b/make/Init.gmk index fa1c5e6fdaf..8cbc81b08e1 100644 --- a/make/Init.gmk +++ b/make/Init.gmk @@ -298,7 +298,6 @@ else # HAS_SPEC=true main: $(INIT_TARGETS) ifneq ($(SEQUENTIAL_TARGETS)$(PARALLEL_TARGETS), ) $(call RotateLogFiles) - $(call PrepareFailureLogs) $(PRINTF) "Building $(TARGET_DESCRIPTION)\n" $(BUILD_LOG_PIPE) ifneq ($(SEQUENTIAL_TARGETS), ) # Don't touch build output dir since we might be cleaning. That @@ -308,6 +307,7 @@ else # HAS_SPEC=true $(SEQUENTIAL_TARGETS) ) endif ifneq ($(PARALLEL_TARGETS), ) + $(call PrepareFailureLogs) $(call StartGlobalTimer) $(call PrepareSmartJavac) # JOBS will only be empty for a bootcycle-images recursive call diff --git a/make/InitSupport.gmk b/make/InitSupport.gmk index e885e0fb1a3..8f2d2b92707 100644 --- a/make/InitSupport.gmk +++ b/make/InitSupport.gmk @@ -456,6 +456,9 @@ else # $(HAS_SPEC)=true ) endef + # Failure logs are only supported for "parallel" main targets, not the + # (trivial) sequential make targets (such as clean and reconfigure), + # since the failure-logs directory creation will conflict with clean. define PrepareFailureLogs $(RM) -r $(MAKESUPPORT_OUTPUTDIR)/failure-logs 2> /dev/null && \ $(MKDIR) -p $(MAKESUPPORT_OUTPUTDIR)/failure-logs