generated-autoload-file is a variable defined in `autoload.el'.
Its value is "loaddefs.el"
*File M-x update-file-autoloads puts autoloads into.
A `.el' file can set this in its local variables section to make its
autoloads go somewhere else.
First, there's something missing here: it doesn't explain that if the value is a plain file name, then a directory is automatically prepended (and that's the source directory, which seems odd).
Secondly, it doesn't tell me what to do to get the files I've installed in my own directory to have a sensible loaddefs.el written. From reading the above, there are two options:
1. I could annotate all the files I install in my personal site-lisp directory with generated-autoload-file settings. That seems perverse.
2. I could set generated-autoload-file before running update-directory-autoloads, but I have no idea whether this would have a deleterious effect on, for example, ELPA. In a nutshell, why would I want to set a global variable for a one-off operation?