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