#!/usr/bin/env bash

# Copyright 2017 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

PARTITION=boot
CMDLINE=

function HELP {
    echo "help:"
    echo "-a             : Flash Zircon-A partition (default)"
    echo "-b             : Flash Zircon-B partition"
    echo "-c <cmd line>  : Extra command line options"
    echo "-m             : Add mexec option to command line"
    echo "-r             : Flash Zircon-R partition"
    echo "-h for help"
    exit 1
}

while getopts "abc:mr" FLAG; do
    case $FLAG in
        a) PARTITION="boot";;
        b) PARTITION="misc";;
        c) CMDLINE+="-c ${OPTARG}";;
        m) CMDLINE+="-m";;
        r) PARTITION="recovery";;
        h) HELP;;
        \?)
            echo unrecognized option
            HELP
            ;;
    esac
done
shift $((OPTIND-1))

exec $DIR/fastboot-flash -b vim2 -P ${PARTITION} ${CMDLINE} "$@"
