When running node-gyp configure, the config.gypi file is generated from process.configure. This is done even if a --target=<version> argument is passed, which is incorrect.
For example, the Linking to OpenSSL guide says that the node_shared_openssl variable indicates whether to compile against Node's OpenSSL headers. In addition, the node_module_version variable contains the Node ABI version. Clearly, both of those (and the rest of the configuration) should depend on their value for the target version.