docs: def __add_options(parser):
      """
      Add the `Makespec` options to a option-parser instance or a
      option group.
      """
      g = parser.add_option_group('What to generate')
      g.add_option("-F", "--onefile", dest="onefile",
                   action="store_true", default=False,
                   help="create a single file deployment")
      g.add_option("-D", "--onedir", dest="onefile",
                   action="store_false",
                   help="create a single directory deployment (default)")
      g.add_option("-o", "--out",
                   dest="workdir", metavar="DIR",
                   help="generate the spec file in the specified directory "
                        "(default: current directory)")
      g.add_option("-n", "--name",
                   help="name to assign to the project "
                        "(default: first script's basename)")
  
      g = parser.add_option_group('What to bundle, where to search')
      g.add_option("-p", "--paths", default=[], dest="pathex",
                   metavar="DIR", action="append",
                   help="set base path for import (like using PYTHONPATH). "
                        "Multiple directories are allowed, separating them "
                        "with %s, or using this option multiple times"
                        % repr(os.pathsep))
      g.add_option("--additional-hooks-dir", action="append", dest="hookspath",
                   help="additional path to search for hooks "
                        "(may be given several times)")    
      g.add_option("-K", "--tk", action="store_true",
                   help="include TCL/TK in the deployment")
      g.add_option("-a", "--ascii", action="store_true",
                   help="do NOT include unicode encodings "
                        "(default: included if available)")
  
      g = parser.add_option_group('How to generate')
      g.add_option("-d", "--debug", action="store_true", default=False,
                   help=("use the debug (verbose) build of the executable for "
                         "packaging. This will make the packaged executable be "
                         "more verbose when run."))
      g.add_option("-s", "--strip", action="store_true",
                   help="strip the exe and shared libs "
                        "(don't try this on Windows)")
      g.add_option("--noupx", action="store_true", default=False,
                   help="do not use UPX even if available (works differently "
                        "between Windows and *nix)")
      #p.add_option("-Y", "--crypt", metavar="FILE",
      #             help="encrypt pyc/pyo files")
  
      g = parser.add_option_group('Windows and Mac OS X specific options')
      g.add_option("-c", "--console", "--nowindowed", dest="console",
                   action="store_true", default=True,
                   help="use a console subsystem executable (default)")
      g.add_option("-w", "--windowed", "--noconsole", dest="console",
                   action="store_false",
                   help="use a windowed subsystem executable, which on Windows "
                        "does not open the console when the program is launched."
                        'Mandatory whe creating .app bundle on Mac OS X')
      g.add_option("-i", "--icon", dest="icon_file",
                   metavar="FILE.ICO or FILE.EXE,ID or FILE.ICNS",
                   help="If FILE is an .ico file, add the icon to the final "
                        "executable. Otherwise, the syntax 'file.exe,id' to "
                        "extract the icon with the specified id "
                        "from file.exe and add it to the final executable. "
                        "If FILE is an .icns file, add the icon to the final "
                        ".app bundle on Mac OS X (for Mac not yet implemented)")
  
      g = parser.add_option_group('Windows specific options')
      g.add_option("--version-file",
                   dest="version_file", metavar="FILE",
                   help="add a version resource from FILE to the exe")
      g.add_option("-m", "--manifest", metavar="FILE or XML",
                   help="add manifest FILE or XML to the exe")
      g.add_option("-r", "--resource", default=[], dest="resources",
                   metavar="FILE[,TYPE[,NAME[,LANGUAGE]]]", action="append",
                   help="add/update resource of the given type, name and language "
                        "from FILE to the final executable. FILE can be a "
                        "data file or an exe/dll. For data files, atleast "
                        "TYPE and NAME need to be specified, LANGUAGE defaults "
                        "to 0 or may be specified as wildcard * to update all "
                        "resources of the given TYPE and NAME. For exe/dll "
                        "files, all resources from FILE will be added/updated "
                        "to the final executable if TYPE, NAME and LANGUAGE "
                        "are omitted or specified as wildcard *."
                        "Multiple resources are allowed, using this option "
                        "multiple times.")