On Sunday 06 December 2009 03:44:06 Peter Tyser wrote: > On Sun, 2009-12-06 at 02:45 -0500, Mike Frysinger wrote: > > On Sunday 06 December 2009 02:09:34 Peter Tyser wrote: > > > ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \ > > > > > > | tee ${LOG_DIR}/$target.ERR > > > > you could rewrite this to keep POSIX compliance: > > # need to maintain exit value ourselves as pipes eat it > > fail=${LOG_DIR}/$target.failed > > rm -f ${fail} > > (${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \ > > > > || touch ${fail}) | tee ${LOG_DIR}/$target.ERR > > > > [ -e ${fail} ] && : $(( RC += 1 )) > > rm -f ${fail} > > Ahh, clever. It doesn't really matter which way to me. PIPESTATUS > seems more straightforward, but maintaining POSIX compliance would be > nice too.
i agree with both points > > > + # Return how many board compiles failed, assuming 'make' returns 2 > > > + # for builds which failed > > > + exit $(((RC + 1) / 2)) > > > > the problem here is that exit statuses have a range of 256 values. so as > > soon as more than 255 boards fail, this wont work. maybe i'm being > > overly paranoid though ? > > Good point. I can change RC into a bitwise OR of the 'make' return > values instead of a sum. I think 98% of the time people just want to > know if any board compile failed, not specifically how many boards > failed. right, so maybe something like: : $(( RC = (RC + 1) / 2 )) # exit values top out at 255 exit $(( RC > 255 ? 255 : RC )) not that ive ever looked at the exit status as anything meaningful ... i always review the ERR files to make sure they're all 0 bytes. -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot