Skip to content
Snippets Groups Projects
cook.sh 2.17 KiB
Newer Older
Jeremy Soller's avatar
Jeremy Soller committed
export RUST_TARGET_PATH="$PWD/targets"
Jeremy Soller's avatar
Jeremy Soller committed
export RUSTFLAGS="--cfg redox"
export CARGOFLAGS=
Jeremy Soller's avatar
Jeremy Soller committed
TARGET=x86_64-unknown-redox

set -e

if [ -n "$1" ]
then
    if [ -d "recipes/$1" ]
    then
Jeremy Soller's avatar
Jeremy Soller committed
        cd "recipes/$1"
Jeremy Soller's avatar
Jeremy Soller committed
        source recipe.sh
        for arg in "${@:2}"
        do
Jeremy Soller's avatar
Jeremy Soller committed
            echo "$1" "$arg"
            case "$arg" in
Jeremy Soller's avatar
Jeremy Soller committed
                fetch)
                    git clone --recursive "$GIT" build
                    ;;
                unfetch)
                    rm -rf build
                    ;;
Jeremy Soller's avatar
Jeremy Soller committed
                pull)
                    pushd build > /dev/null
                    git pull
                    git submodule sync
                    git submodule update --init --recursive
                    popd > /dev/null
                    ;;
Jeremy Soller's avatar
Jeremy Soller committed
                update)
                    pushd build > /dev/null
                    xargo update
                    popd > /dev/null
                    ;;
                    pushd build > /dev/null
                    xargo build --target "$TARGET" $CARGOFLAGS
                    popd > /dev/null
                    pushd build > /dev/null
                    xargo clean
                    popd > /dev/null
Jeremy Soller's avatar
Jeremy Soller committed
                    ;;
Jeremy Soller's avatar
Jeremy Soller committed
                stage)
                    mkdir -p stage/bin
                    pushd build > /dev/null
Jeremy Soller's avatar
Jeremy Soller committed
                    #TODO xargo install --root "../stage" $CARGOFLAGS
                    cp -v $(find target/x86_64-unknown-redox/debug/ -maxdepth 1 -type f ! -name "*.*") ../stage/bin
                    popd > /dev/null
Jeremy Soller's avatar
Jeremy Soller committed
                    ;;
                unstage)
                    rm -rf stage
                    ;;
Jeremy Soller's avatar
Jeremy Soller committed
                tar)
                    pushd stage > /dev/null
Jeremy Soller's avatar
Jeremy Soller committed
                    tar cf ../stage.tar .
                    popd > /dev/null
Jeremy Soller's avatar
Jeremy Soller committed
                    ;;
                untar)
                    rm -rf stage.tar
                    ;;
                *)
                    echo "$0 {package} {build|clean|fetch|update}"
                    ;;
            esac
        done
Jeremy Soller's avatar
Jeremy Soller committed
    else
        echo "$0: recipe '$1' not found"
    fi
else
    echo "$0 {package} {build|clean|fetch|update}"
fi