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

Reply via email to