def find_output_arg(args):
    """Find and remove any -o arguments.  The final one takes precedence.
  Return the final -o target along with the remaining (non-o) arguments.
  """
    outargs = []
    specified_target = None
    use_next = False
    for arg in args:
        if use_next:
            specified_target = arg
            use_next = False
            continue
        if arg == '-o':
            use_next = True
        elif arg.startswith('-o'):
            specified_target = arg[2:]
        else:
            outargs.append(arg)
    return specified_target, outargs
