836b73dcf9a90141ad0923009f03d2494fdd18ca
markd
  Tue Apr 22 15:17:05 2025 -0700
Replaced shell loops in build paths of makefile to use rules.  This should address issues where errors in some rules are not reported (#35339) and also increase speed of builds using multiple cores

diff --git src/fuse/makefile src/fuse/makefile
index 70d2bbb9541..59813d9a8fc 100644
--- src/fuse/makefile
+++ src/fuse/makefile
@@ -1,36 +1,23 @@
 kentSrc = ..
 include ../inc/common.mk
 include ./fuse.mk
 
 FUSE_DIRS = \
 	udcFuse
 
-all:    
-	@for D in $(FUSE_DIRS) x; do \
-	  if test "$$D" != "x" ; then \
-	    ( cd $$D && echo $$D && $(MAKE) ) ;\
-	    x=$$? ; if [ $$x -ne 0 ]; then exit $$x ; fi \
-	    fi ;\
-	done
+all: $(FUSE_DIRS:%=%_all)
+%_all:
+	$(MAKE) -C $*
 
 alpha: all
 
-compile:
-	@for D in $(FUSE_DIRS) x; do \
-	  if test "$$D" != "x" ; then \
-	    ( cd $$D && echo $$D && $(MAKE) compile ) ;\
-	    x=$$? ; if [ $$x -ne 0 ]; then exit $$x ; fi \
-	    fi ;\
-	done
+compile: $(FUSE_DIRS:%=%_compile)
+%_compile:
+	$(MAKE) -C $* compile
 
 
 # clean would be redundant with top-level makefile's (find & rm .o's)
 
-clean::
-	rm -f ${O}
-	@for D in $(FUSE_DIRS) x; do \
-	  if test "$$D" != "x" ; then \
-	    ( cd $$D && echo $$D && $(MAKE) clean ) ;\
-	    x=$$? ; if [ $$x -ne 0 ]; then exit $$x ; fi \
-	    fi ;\
-	done
+clean::  $(FUSE_DIRS:%=%_clean)
+%_clean:
+	$(MAKE) -C $* clean