{
  "targets": [
    {
      "target_name": "addon",
      "link_settings": {
        "libraries": [
          "<(module_root_dir)/src/c_dasum.o",
          "<(module_root_dir)/src/dasum.o",
          "<(module_root_dir)/src/dasumsub.o"
        ]
      },
      "include_dirs": [
        "<!(node -e \"require('nan')\")",
        "include"
      ],
      "sources": [
        "./src/addon.cpp"
      ]
    }
  ]
}

{
  'targets': [
    {
      # The target name should match the add-on export name:
      'target_name': 'addon',

      # Allow developer to choose whether to build a static or shared library:
      'type': '<(library)',

      # Settings that should be applied when a target's object files are used as linker input:
      'link_settings': {

        # List libraries (object files, etc) which should be linked during linking:
        'libraries': [
          # Note: `module_root_dir` is provided by `node-gyp`based on the current working directory.
          '<(module_root_dir)/src/c_dasum.o',
          '<(module_root_dir)/src/dasum.o',
          '<(module_root_dir)/src/dasumsub.o'
        ]
      },

      # Define directories which contain relevant include headers:
      'include_dirs': [
        '<!(node -e \'require("nan")\')',
        'include'
      ],

      # List the source files to compile:
      'sources': [
        './src/addon.cpp'
      ],

      # C compiler flags:
      'cflags': [
        # Generate platform-independent code:
        '-fPIC'
      ],

      # Apply conditions based on the runtime environment:
      'conditions': [
        [
          'OS=="win"',
          {
            'msvs_settings': {
              'VCCLCompilerTool': {
                'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
                'OmitFramePointers': 'true',
                'EnableFunctionLevelLinking': 'true',
                'EnableIntrinsicFunctions': 'true',
                'RuntimeTypeInfo': 'false',
                'ExceptionHandling': '1',
              },
              'VCLibrarianTool': {
                'AdditionalOptions': [
                  '/LTCG', # link time code generation
                ],
              },
              'VCLinkerTool': {
                'LinkTimeCodeGeneration': 1, # link-time code generation
                'OptimizeReferences': 2, # /OPT:REF
                'EnableCOMDATFolding': 2, # /OPT:ICF
                'LinkIncremental': 1, # disable incremental linking
              },
            }
          }
        ] # end OS=="win"
      ] # end conditions
    }
  ] # end targets
}

Add comments and MSVS settings