DIRS = problem1 problem2 problem3 problem4 problem5 top: @my_status=0 @for dir in $(DIRS) ; \ do \ (cd $$dir ; $(MAKE)) ; \ my_status=$$? ; \ if [ $$my_status -ne 0 ] ; then exit 1 ; fi ; \ done @exit $$my_status clean: @for dir in $(DIRS) ; \ do \ (cd $$dir ; \ $(MAKE) clean ; \ cd ..) ; \ done