Here's one idea:

% cat makefile
.PHONY: all t1 t2 t3 t4

MAKE_PID := $(shell perl -le 'print getppid()')
define Abort
kill -INT $(MAKE_PID)
endef

all: t1 t2 t3 t4

t1 t2 t4:
        @echo making $@

t3:
        @echo making $@
        cat food || $(call Abort)


% make -k
making t1
making t2
making t3
cat food || kill -INT 25684
cat: cannot open food


On Fri, Sep 9, 2011 at 1:29 PM, Danny Barraza <[email protected]> wrote:
> To all the smart gnu make people...I have a bit of a deli ma...please read
> the thread below for the problem...thank you all...
>
> Sample code:
>
> Sample code:
>
> run_script:
>        @$(ECHO)
>        @$(PRINTF) "Running chkswhw script."
>        @$(ECHO)
>        @$(PRINTF) "Validation of H/W and S/W Infra components."
>        @$(ECHO)
>        @chkswhw ; \
>        if [ $$? -eq 0 ] ; then         \
>        echo chkswhw exited successfully...;          \
>        else            \
>        $(error Fatal error has occurred stopping Make...);         \
>        fi
>
> Danny
>
> -------- Original Message --------
> Subject:        Re: Make -k option...
> Date:   Fri, 09 Sep 2011 10:08:08 +0300
> From:   Eli Zaretskii <[email protected]>
> Reply-To:       Eli Zaretskii <[email protected]>
> To:     Danny Barraza <[email protected]>
>
>
>
>>  Date: Thu, 08 Sep 2011 16:43:51 -0700
>>  From: Danny Barraza<[email protected]>
>>
>>  Hi Eli, it's Danny once again...also thanks for all your help on the
>>  previous question.  I have another one.  I'm trying to Exit out of Make
>>  if my return code from a command is non-zero, but there's one catch I
>>  start make with the following: "make -k all" -k option suppresses all
>>  errors.  How can I force make to STOP, but the -k option needs to be
>>  there.  I tried using the error control function but that stops make no
>>  mater what the exit code is 0,1,2..., anyway need some help here.
>
> I can think of no way to do that if you use "make -k".  But I suggest
> to ask this question on [email protected], the smart people out there
> will probably find some inventive way.
>
> _______________________________________________
> Help-make mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/help-make
>

_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make

Reply via email to