--- a/trunk/wharfie/lib/actions.py +++ b/trunk/wharfie/lib/actions.py @@ -23,6 +23,7 @@ # ################################################################################ +import re from lib import makefile as make from lib import files @@ -195,10 +196,18 @@ def toolchain(name, dep, cmd): myTrgCmd = ''' - apt-get install -y libc6-dev; + (apt-get update; apt-get install -y libc6-dev; [ -d ./usr/lib/arm-linux-gnueabi*/ ] && - (cd ./usr/lib/arm-linux-gnueabi*/; ln -s crt1.o crt0.o) || true''' - myHostCmd = 'files=$(ls -1); mkdir target; mv ${files} target; mkdir host; (cd host; tar -xf ../../debian_toolchain.tar); cp ../debian_toolchain_env.sh env.sh; tar -cf ../' + cmd[1].lstrip() + ' .;' + (cd ./usr/lib/arm-linux-gnueabi*/; ln -s crt1.o crt0.o) || true);''' + if " " in cmd[1].lstrip(): + params = re.findall('^([^ ]+)[ \t]([^\n]*)', cmd[1].lstrip(), flags=re.MULTILINE) + if len(params) > 0: + myTrgCmd += params[0][1] + + myHostCmd = 'files=$(ls -1); mkdir target; mv ${files} target; mkdir host; (cd host; tar -xf ../../debian_toolchain.tar); cp ../debian_toolchain_env.sh env.sh; tar -cf ../' + params[0][0] + ' .;' + else: + myHostCmd = 'files=$(ls -1); mkdir target; mv ${files} target; mkdir host; (cd host; tar -xf ../../debian_toolchain.tar); cp ../debian_toolchain_env.sh env.sh; tar -cf ../' + cmd[1].lstrip() + ' .;' + dep.append('debian_toolchain.tar') dep.append('debian_toolchain_env.sh') makeTarget = {