From 458a61f6162a60d67d9db4b265601b8d20f4f9d0 Mon Sep 17 00:00:00 2001 From: Pengfei Xu Date: Tue, 28 Nov 2023 17:09:47 +0800 Subject: [PATCH] tools/Makefile: tools make will continue when it encounters subfolder making failed Signed-off-by: Pengfei Xu --- tools/Makefile | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 362c2992..1a755618 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,18 +1,32 @@ # SPDX-License-Identifier: GPL-2.0-only # Copyright (c) 2022 Intel Corporation. -SUBDIRS = $(shell ls -d */) +TOOLSDIRS = $(shell ls -d */) +MAKE_TOOLS_LOG = /tmp/make_tools.log + all: - @for dir in $(SUBDIRS) ; do \ - if [ -f "$$dir/Makefile" ]; then \ - cd $$dir && \ - make && \ - cd .. || exit 2; \ + @cat /dev/null > ${MAKE_TOOLS_LOG}; + @for tooldir in $(TOOLSDIRS); do \ + if [ -f "$$tooldir/Makefile" ]; then \ + cd $$tooldir && \ + make || { \ + cd ..; \ + echo " - Make tools $${tooldir} failed." >> ${MAKE_TOOLS_LOG}; \ + continue; \ + }; \ + cd ..; \ fi \ done + @cat ${MAKE_TOOLS_LOG} +ifeq ($(shell cat $(MAKE_TOOLS_LOG)),) + @exit 0 +else + @exit 1 +endif + clean: - for dir in $(SUBDIRS) ; do \ - if [ -f "$$dir/Makefile" ]; then \ - make -C $$dir clean || exit 2; \ - fi \ + @for tooldir in $(TOOLSDIRS); do \ + if [ -f "$$tooldir/Makefile" ]; then \ + make -C $$tooldir clean || continue; \ + fi \ done