>>>>> "shapj" == shapj <firstname.lastname@example.org> writes:
shapj> --0__=TtHIaktqz3YITLLCR2wLAK103sLZHqA7eipAPWjGki4Dd59uPybGPg0Y shapj> Content-type: text/plain; charset=us-ascii shapj> Content-Disposition: inline
shapj> It was meant to be a test for the non-empty value of that shapj> variable, so that the stuff inside the 'if' wouldn't get shapj> executed if the variable was empty.
shapj> Any suggestions for a better idiom for doing this recursion?
shapj> It looks like the "[ -n "" ]" was meant to be be a test for shapj> the existence of a variable which was then used in the for shapj> loop. But if the variable doesn't exist you're left with a shapj> syntactically incorrect shell command.
The easy way to get around this problem is to simply enclose the $(DIRS) in quotes which will then yield the empty string and make bash happy (syntactically).
@if [ -n "$(DIRS)" ]; then\ for i in "$(DIRS)"; do \ ^^^^^^^^^
Of course, I did this and now make install doesn't do _anything_. I really love to hate make.
I know you folks are as short on time as everybody else, but before you get too far along redesigning the build process you might want to take a look at :
Recursive Make Considered Harmful