Bill,
I have attached it for you.
I found it under QNX 6.2NC in /usr/include/
“Bill Caroselli (Q-TPS)” <QTPS@EarthLink.net> wrote in message
news:aghc03$7t6$1@inn.qnx.com…
In QNX4 I don’t have a /usr/include/recurse.mk file. Where should it be?
“Bill Caroselli (Q-TPS)” <> QTPS@EarthLink.net> > wrote in message
news:aghbka$7nu$> 1@inn.qnx.com> …
My makefile is fashioned after the PhAB makefiles.
The “for; do ; done” below is a shell script line I know. But it is in
a
makefile, not in a shell script. I just can’t seam to find the right
place
to test the return of the nested make and force an abort in the outer
make.
“Kris Warkentin” <> kewarken@qnx.com> > wrote in message
news:agh9o8$ah1$> 1@nntp.qnx.com> …
There may be better ways to do it but what I might try doing is
checking
the
return value of make within your script. If make fails, you just exit
the
loop. The other option which you’ll find fairly educational is to
look
at
our recursive makefile stuff. Take a look at /usr/include/recurse.mk
to
see
how it’s done. The O’Reilly Make book is really good too.
cheers,
Kris
“Bill Caroselli (Q-TPS)” <> QTPS@EarthLink.net> > wrote in message
news:agfl61$rh6$> 1@inn.qnx.com> …
I have a makefile that looks something like this:
DIRS: x y z
all:
for DIR in ${DIRS} ; do ( cd $$DIR ; make ) ; done
If one of the nested makes fails I want this outer make to abort. I
have
tried all kinds of gimicks but can’t seem to find the magic.
What is the trick to make this outer make abort if an inner make
fails?
\
begin 666 recurse.mk
M(PT*(PE’96YE<F%L;‘D@=7-E9G5L(’)E8W5R<VEV92!M86ME9FEL92X-“B,-
M"B,)1FEN9’,@86YY(‘-U8F1I<F5C=&]R:65S(’=I=&@@(DUA:V5F:6QE(B!I
M;B!T:&5M+”!A;F0-“B,)<F5C=7)S97,@:6YT;R!T:&5M+”!I<W-U:6YG(“)M
M86ME(B!W:71H(‘1H92!S<&5C:69I960-"B,)=&%R9V5T+B!$;R!N;W0@<F5C
M=7)S92!I;G1O(&$@9&ER96-T;W)Y(&EF(‘1H97)E(&ES( T*(R @(&$@(DUA
M:V5F:6QE+F1N;2(@9FEL92!P<F5S96YT+@T*(PT*#0IE>’!O<G0-"G5N97AP
M;W)T(%!71 T*=6YE>’!O<G0@3$E35 T*=6YE>‘!O<G0@;6%K96QI<W0-"G5N
M97AP;W)T(&UA:V5F:6QE<PT*=6YE>’!O<G0@;6MF:6QE#0IU;F5X<&]R=”!F
M;W)C95]D:7)S#0IU;F5X<&]R="!Q8F1I<@T*=6YE>‘!O<G0@9FER<W1D:7(-
M"G5N97AP;W)T(’)E<W1D:7(-“G5N97AP;W)T(‘-E< T*=6YE>’!O<G0@;6%K
M96-M9 T*=6YE>‘!O<G0@:6YC7VQI<W0-“G5N97AP;W)T(&5X8U]L:7-T#0IU
M;F5X<&]R=”!T;7 -"G5N97AP;W)T(’)E86QL:7-T#0IU;F5X<&]R=”!-04M%
M1DE,10T*#0II9FYD968@34%+149)3$4-"DU!2T5&24Q%/5M-;5UA:V5F:6QE
M#0IE;F1I9@T*#0IM86ME9FEL97,Z/20H=VEL9&-A<F0@B\D$U!2T5&24Q%
M2D-"FUK9FEL93H])"AN;W1D:7(@)"AF:7)S='=O<F0@)"AM86ME9FEL97,I
M2D-“FUA:V5L:7-T.CTD*‘-O<G0@)“AP871S=6)S=” E+RPE+"0H9&ER(“0H
M;6%K969I;&5S2DI0T*;6%K96QI<W0Z/20H9FEL=&5R+6]U=” D*’!A=‘-U
M8G-T("4O+"4L)"AD:7(@)“AW:6QD8V%R9” J+UM-;5UA:V5F:6QE+F1N;2DI
M2PD&UA:V5L:7-T2D-"@T:69N97$@"0H9FEL=&5R($-052!/4RPD$Q)
M4U0I2PI#0HC#0HC($EF(‘=E)W)E(’=O<FMI;F<@;VX@82!#4%4@;W(@3U,@
M;&ES=“P@9FEG=7)E(&]U=”!W:&%T(‘1A<F=E="!S>7-T96US(’=E( T(R!C
M86X@86-T=6%L;‘D@8G5I;&0@8F%S960@;VX@=&AE(&AO<W0@<WES=&5M(’=E
M)W)E(’)U;FYI;F<@;VXN#0HC#0II9FYD968@44)524Q$3$E35 T44)524Q$
M3$E35#UB=6EL9&QI<W0N;6L-"FEF9&5F(%%#3TY&24<-"G%B9&ER/20H9&ER
M("0H44-/3D9)1RDI#0IE;F1I9@T96YD:68-“BUI;F-L=61E(“0H<6)D:7(I
M)“A10E5)3$1,25-40T96YD:68-”@T*:69N97$@"PD$Q)4U0I0T:69D
M968@0TA%0TM&3U)#10T9F]R8V5?9&ER<SH])“AP871S=6)S=” E+RPE+"0H
M9&ER("0H=VEL9&-A<F0@B];36U=86ME9FEL92YF;W)C92DI0T96YD:68-
M”@T*:6YC7VQI<W0Z/2Y"54=&25@N(“0H<V]R=” D*&9O<F5A8V@@=F%R+” D
M*$Q)4U0I+” D*"0H=F%R4Q)4U0I2D-“FEN8U]L:7-T.CTD*&9I;'1E<BUO
M=70@+D)51T9)6"XL(“0H:6YC7VQI<W0I0T97AC7VQI<W0Z/2Y"54=&25@N
M(“0H<V]R=” D*&9O<F5A8V@@=F%R+” D*$Q)4U0I+” D*$580TQ51$5?)“AV
M87(I3$E35"DI0T97AC7VQI<W0Z/20H9FEL=&5R+6]U=” N0E5’1DE8+BP@
M)"AE>&-?;&ES="DI#0H-“FEF;F5Q(”@L)"AE>&-?;&ES="DI#0IM86ME;&ES
M=#H])“AF:6QT97(M;W5T(“0H9FEL=&5R+6]U=” D*&9O<F-E7V1I<G,I+” D
M*&9O<F5A8V@@9&ER+"0H;6%K96QI<W0I+“0H:68@)“AF:6QT97(@)“AS=6)S
M=” N+” L)“AS=6)S=” M+” L)"AD:7(I2DL)“AS=6)S=” O+" L)"AE>&-?
M;&ES="DI2PD*&1I<BDI2DL)"AM86ME;&ES="DI#0IE;F1I9@T#0II9FYE
M<2 H+“0H:6YC7VQI<W0I0T<F5A;&QI<W0Z/20H9F]R96%C:”!V87(L)"A,
M25-42PD&EF("0H)"AV87(I3$E35"DL)"AV87(I+"DI#0IM86ME;&ES=#H]
M)“AF:6QT97(M;W5T(“0H9FEL=&5R+6]U=” D*&9O<F-E7V1I<G,I+” D*&9O
M<F5A8V@@9&ER+"0H;6%K96QI<W0I+“0H9F]R96%C:”!V87(L)"AR96%L;&ES
M="DL)"AI9B D*&9I;‘1E<B D*’-U8G-T("XL(“PD*‘-U8G-T("TL("PD*&1I
M<BDI2PD’-U8G-T(”\L("PD*"0H=F%R4Q)4U0I2DL+"0H9&ER2DI2DL
M)"AM86ME;&ES="DI#0IE;F1I9@T96YD:68-"@T;6%K96QI<W0Z/20H9FEL
M=&5R("0H14%23%E?1$E24RDL)"AM86ME;&ES="DI(“0H9FEL=&5R+6]U=” D
M*$5!4DQ97T1)4E,I(“0H3$%415]$25)32P@)"AM86ME;&ES="DI("0H9FEL
M=&5R("0H3$%415]$25)32PD*&UA:V5L:7-T2D-"F9I<G-T9&ER.CTD&9I
M<G-T=V]R9” D*&UA:V5L:7-T2D-"G)E<W1D:7(@.CTD&9I;'1E<BUO=70@
M)"AF:7)S=&1I<BDL("0H;6%K96QI<W0I0T#0II9FYE<2 H)"AF:6YD<W1R
M:6YG(&LL)"A-1DQ!1U,I2PI#0IS97 Z/3L-"F5L<V4-"G-E<#H])B8-"F5N
M9&EF#0H-"FUA:V5C;60@/2 D$U!2T4I("UJ("0H9FER<W1W;W)D("0H2DQ%
M5D5,2 Q2 M0R0H9&ER2 M9B0H;6MF:6QE2 D*&EF("0H34%+14–1$=/
M04Q32PD0"D-"@T)"AF:6QT97(M;W5T(&%L;"P@)"A-04M%0TU$1T]!3%,I
M2!A;&PZ#0H))"AF;W)E86-H(&1I<BP@)"AF:7)S=&1I<BDL("0H;6%K96-M
M9"DI)"AF;W)E86-H(&1I<BP@)"AR97-T9&ER2P@)"AS97 I("0H;6%K96-M
%9"DI#0H
end