diff --git a/tools/Makefile b/tools/Makefile index 362c2992..b9043d9b 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 2 +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