diff --git a/cook.sh b/cook.sh
index 07936d1bfb2d73a33c65ec3edceb6012db921e54..65bd49b295005adc6a5b18276cdff9a04ef80fe9 100755
--- a/cook.sh
+++ b/cook.sh
@@ -6,6 +6,7 @@ source config.sh
 
 # Variables to be overriden by recipes
 export BINDIR=bin
+export CARGO=xargo
 export CARGOBUILD=rustc
 export CARGOFLAGS=
 export DEBUG=
@@ -229,7 +230,7 @@ function op {
             fi
             if [ "$skip" -eq "0" ]
             then
-                xargo update
+                "${CARGO}" update
             fi
             popd > /dev/null
             ;;
@@ -312,7 +313,7 @@ function op {
             if [ "$skip" -eq "0" ]
             then
                 cp -p "$ROOT/Xargo.toml" "Xargo.toml"
-                xargo "$CARGOBUILD" --target "$TARGET" $release_flag $CARGOFLAGS
+                "${CARGO}" "$CARGOBUILD" --target "$TARGET" $release_flag $CARGOFLAGS
             fi
             popd > /dev/null
             ;;
@@ -333,7 +334,7 @@ function op {
             if [ "$skip" -eq "0" ]
             then
                 cp -p "$ROOT/Xargo.toml" "Xargo.toml"
-                xargo test --no-run --target "$TARGET" $release_flag $CARGOFLAGS
+                "${CARGO}" test --no-run --target "$TARGET" $release_flag $CARGOFLAGS
             fi
             popd > /dev/null
             ;;
@@ -346,7 +347,7 @@ function op {
             fi
             if [ "$skip" -eq "0" ]
             then
-                xargo clean
+                "${CARGO}" clean
             fi
             popd > /dev/null
             ;;
@@ -362,7 +363,7 @@ function op {
             fi
             if [ "$skip" -eq "0" ]
             then
-                #TODO xargo install --root "$stage" $CARGOFLAGS
+                #TODO "${CARGO}" install --root "$stage" $CARGOFLAGS
                 if [ "$DEBUG" == 1 ]
                 then
                     build=debug