From the documentation:
“The make_services tool examines all applications (anything with a .app, .debug, or .profile suffix) in the system, local, and user Apps directories, and caches information about the services each app provides (extracted from the Info-gnustep.plist file in each application).
“In addition to the cache of services information, it builds a cache of information about all known applications (including information about file types they handle).
“NSWorkspace reads the cache and uses it to determine which application to use to open a document and which icon to use to represent that document.”