code: func goGetArgs(args []string) (string, string, string, goDepsMode) {
  	f, target := standardFlags(goCmd)
  	repo := f.String("repo", "", "Go repo (example: github.com/rkt/rkt)")
  	module := f.String("module", "", "Module inside Go repo (example: stage1)")
  	mode := f.String("mode", "make", "Mode to use (make - print deps as makefile [default], files - print a list of files)")
  
  	f.Parse(args)
  	if *repo == "" {
  		common.Die("--repo parameter must be specified and cannot be empty")
  	}
  	if *module == "" {
  		common.Die("--module parameter must be specified and cannot be empty")
  	}
  
  	var dMode goDepsMode
  
  	switch *mode {
  	case "make":
  		dMode = goMakeMode
  		if *target == "" {
  			common.Die("--target parameter must be specified and cannot be empty when using 'make' mode")
  		}
  	case "files":
  		dMode = goFilesMode
  	default:
  		common.Die("unknown --mode parameter %q - expected either 'make' or 'files'", *mode)
  	}
  	return *target, *repo, *module, dMode
  }
docs: // getArgs parses given parameters and returns target, repo, module and
  // mode. If mode is "files", then target is optional.