On 2008-11-25 15:12Z, Tao T wrote: > for some reason it seems more complicated to get rid of shell. > do you have any suggestion to use shell? thanks~ > currently my command have to change to :BUILDUNITS := $(shell $(foreach > unit,$(ALL_UNITS),cd $(REPOSITORY_ROOT)/units/$(unit) && $(MAKE) > $(MAKECMDGOALS) BUILD_TYPE=$(BUILD_TYPE) 1>&2;)) > It looks more complicated.
The original question was how to stop on the first error. That's the normal behavior of 'make'. But the $(shell) command simply passes a string to a shell, and 'make' doesn't know what that shell is doing until it returns. So, if you really want to use $(shell) this way, you have to write the command so that it stops on error. I guess you could write '&&' instead of ';', and do something about the last '&&', e.g. add 'true' at the end: $(shell command0 && command1 && ... && command99 && true) _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
