Diff of /trunk/wharfie/lib/actions.py [r48] .. [r49]  Maximize  Restore

Switch to side-by-side view

--- 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 = {