55 lines
988 B
Bash
55 lines
988 B
Bash
|
arg=$1 ; shift
|
||
|
switch_srcdir=`pwd`
|
||
|
if [ -z $MAKE ] ; then
|
||
|
MAKE=make
|
||
|
fi
|
||
|
|
||
|
if [ -z $arg ] ; then
|
||
|
$MAKE -j8 core
|
||
|
MODS=`cat modules.conf | grep -v \#`
|
||
|
for i in $MODS ; do
|
||
|
MOD_NAME=`echo $i | sed -e 's|^.*/||'`
|
||
|
MOD_DIR=`if test -d $switch_srcdir/src/mod/$i ; then echo $switch_srcdir/src/mod/$i ; else echo $i ; fi;`
|
||
|
touch /tmp/$MOD_NAME.tmp
|
||
|
$0 $MOD_NAME $MOD_DIR
|
||
|
done
|
||
|
while [ 1 = 1 ] ; do
|
||
|
x=0
|
||
|
for i in $MODS ; do
|
||
|
if [ -f /tmp/$MOD_NAME.tmp ] ; then
|
||
|
x=$[$x+1];
|
||
|
fi
|
||
|
done
|
||
|
if [ $x = 0 ] ; then
|
||
|
sleep 1
|
||
|
echo done
|
||
|
exit;
|
||
|
fi
|
||
|
sleep 1
|
||
|
done
|
||
|
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
if [ ! $arg = "bg" ] ; then
|
||
|
$0 bg $arg $@ &
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
|
||
|
MOD_NAME=$1 ; shift
|
||
|
MOD_DIR=$1 ; shift
|
||
|
|
||
|
echo "Making module in $MOD_NAME"
|
||
|
if [ -f $MOD_DIR/Makefile ] ; then
|
||
|
cd $MOD_DIR && BASE=$switch_srcdir $MAKE
|
||
|
else
|
||
|
cd $MOD_DIR && BASE=$switch_srcdir $MAKE -f $switch_srcdir/build/modmake.rules
|
||
|
fi
|
||
|
|
||
|
echo "Finished making module in $MOD_NAME"
|
||
|
sleep 1
|
||
|
rm /tmp/$MOD_NAME.tmp
|
||
|
|
||
|
|