code: func Compile(sources []*Source, filePath string, pkgName string, varName string, opts *Opts) error {
  
  	fs, err := Retrieve(sources)
  	if err != nil {
  		return err
  	}
  
  	if opts == nil {
  		opts = &Opts{}
  	}
  
  	if opts.VariableComment == "" {
  		opts.VariableComment = fmt.Sprintf("%s implements a http.FileSystem.", varName)
  	}
  
  	err = vfsgen.Generate(fs, vfsgen.Options{
  		Filename:        filePath,
  		PackageName:     pkgName,
  		BuildTags:       opts.BuildTags,
  		VariableName:    varName,
  		VariableComment: opts.VariableComment,
  	})
  	if err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // Compile retrieves and processes the specified asset sources, and
  // compiles them to the specified variable in the source file.