@super-protocol/addons-tee 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bindings/amd-sev-snp-napi-rs/amd-sev-snp-napi-rs.linux-x64-gnu.node +0 -0
  2. package/bindings/amd-sev-snp-napi-rs/index.d.ts +51 -0
  3. package/bindings/amd-sev-snp-napi-rs/index.js +339 -0
  4. package/bindings/nvidia-native/build/Release/libnvat.so.1.1.0 +0 -0
  5. package/bindings/nvidia-native/build/Release/nvidia_native.node +0 -0
  6. package/bindings/sgx-native/build/Release/libmbedcrypto_gramine.so.15 +0 -0
  7. package/bindings/sgx-native/build/Release/libmbedx509_gramine.so.6 +0 -0
  8. package/bindings/sgx-native/build/Release/libsgx_dcap_quoteverify.so.1 +0 -0
  9. package/bindings/sgx-native/build/Release/libtdx_attest.so.1 +0 -0
  10. package/bindings/sgx-native/build/Release/sgx_native.node +0 -0
  11. package/bindings/usr/lib/node_modules/node-addon-api/node_api.Makefile +6 -0
  12. package/bindings/usr/lib/node_modules/node-addon-api/nothing.target.mk +159 -0
  13. package/bindings/utils/virtee/LICENSE +201 -0
  14. package/bindings/utils/virtee/libsev.so +0 -0
  15. package/bindings/utils/virtee/snpguest +0 -0
  16. package/dist/index.d.ts +2 -1
  17. package/dist/index.js +29 -1
  18. package/dist/nvidia-native-module/nvidia-attestation.d.ts +146 -0
  19. package/dist/nvidia-native-module/nvidia-attestation.js +374 -0
  20. package/dist/nvidia-native-module/nvidia-debug-state-policy.rego +45 -0
  21. package/dist/nvidia-native-module/nvidia-detailed-policy.rego +205 -0
  22. package/dist/proto/AmdSevSnp.d.ts +194 -0
  23. package/dist/proto/AmdSevSnp.js +363 -0
  24. package/dist/sgx-native-module/consts.d.ts +24 -0
  25. package/dist/sgx-native-module/consts.js +38 -0
  26. package/dist/sgx-native-module/dcap-quote-verify.service.d.ts +12 -0
  27. package/dist/sgx-native-module/dcap-quote-verify.service.js +84 -0
  28. package/dist/sgx-native-module/enclave.service.d.ts +93 -0
  29. package/dist/sgx-native-module/enclave.service.js +211 -0
  30. package/dist/sgx-native-module/errors.d.ts +19 -0
  31. package/dist/sgx-native-module/errors.js +69 -0
  32. package/dist/sgx-native-module/helpers.d.ts +1 -0
  33. package/dist/sgx-native-module/helpers.js +50 -0
  34. package/dist/sgx-native-module/index.d.ts +9 -0
  35. package/dist/sgx-native-module/index.js +26 -0
  36. package/dist/sgx-native-module/pki.service.d.ts +50 -0
  37. package/dist/sgx-native-module/pki.service.js +74 -0
  38. package/dist/sgx-native-module/sev-snp-mrenclave.d.ts +59 -0
  39. package/dist/sgx-native-module/sev-snp-mrenclave.js +322 -0
  40. package/dist/sgx-native-module/sev-snp-schema.d.ts +22 -0
  41. package/dist/sgx-native-module/sev-snp-schema.js +24 -0
  42. package/dist/sgx-native-module/sev-snp.d.ts +127 -0
  43. package/dist/sgx-native-module/sev-snp.js +513 -0
  44. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ export const SNP_REPORT_DATA_SIZE: number
7
+ export const KDS_CERT_SITE: string
8
+ export const KDS_VCEK: string
9
+ export const SHA256_BUFFER_SIZE: number
10
+ export const ARK_MILAN_PEM: Uint8Array
11
+ export const ARK_GENOA_PEM: Uint8Array
12
+ export const ARK_TURIN_PEM: Uint8Array
13
+ export const ASK_MILAN_PEM: Uint8Array
14
+ export const ASK_GENOA_PEM: Uint8Array
15
+ export const ASK_TURIN_PEM: Uint8Array
16
+ /** Well-known AMD SEV-SNP code names as JS string enum. */
17
+ export enum WellKnownSnpCodeNames {
18
+ Milan = 'Milan',
19
+ Genoa = 'Genoa',
20
+ Turin = 'Turin'
21
+ }
22
+ export interface CpuInfo {
23
+ family: number
24
+ model: number
25
+ stepping: number
26
+ }
27
+ export interface ImportantSecurityFields {
28
+ vmpl: number
29
+ debugAllowed: boolean
30
+ ciphertextHiding: boolean
31
+ pageSwapDisabled: boolean
32
+ snp: number
33
+ }
34
+ export const IMPORTANT_SECURITY_FIELDS_DUMMY: ImportantSecurityFields
35
+ export declare function getSnpReport(data: Buffer, vmpl: number): Buffer
36
+ export declare function getVcekKdsUrl(report: Buffer, generation: string): string
37
+ export declare function getReportData(report: Buffer): Buffer
38
+ export declare function getReportMeasure(report: Buffer): Buffer
39
+ export declare function getReportVmpl(report: Buffer): number
40
+ export declare function getReportPolicy(report: Buffer): bigint
41
+ export declare function getReportImportantSecurityFields(report: Buffer): ImportantSecurityFields
42
+ export declare function getReportCpuInfo(report: Buffer): CpuInfo
43
+ /**
44
+ * Identify EPYC generation from provided CpuInfo (family/model).
45
+ * Returns a `WellKnownSnpCodeNames` enum for known SNP generations.
46
+ */
47
+ export declare function getCpuGeneration(cpuInfo: CpuInfo): WellKnownSnpCodeNames
48
+ export declare function getCpuInfo(): CpuInfo
49
+ export declare function getCpuSig(cpuInfo: CpuInfo): number
50
+ export declare function getLogicalCoresCount(): number
51
+ export declare function calcSnpMeasure(ovmfPath: string, kernelSha256: Buffer, initrdSha256: Buffer, cmdlineSha256: Buffer, vcpuSig: number, vcpuCount: number): Buffer
@@ -0,0 +1,339 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+
5
+ /* auto-generated by NAPI-RS */
6
+
7
+ const { existsSync, readFileSync } = require('fs')
8
+ const { join } = require('path')
9
+
10
+ const { platform, arch } = process
11
+
12
+ let nativeBinding = null
13
+ let localFileExisted = false
14
+ let loadError = null
15
+
16
+ function isMusl() {
17
+ // For Node 10
18
+ if (!process.report || typeof process.report.getReport !== 'function') {
19
+ try {
20
+ const lddPath = require('child_process').execSync('which ldd').toString().trim()
21
+ return readFileSync(lddPath, 'utf8').includes('musl')
22
+ } catch (e) {
23
+ return true
24
+ }
25
+ } else {
26
+ const { glibcVersionRuntime } = process.report.getReport().header
27
+ return !glibcVersionRuntime
28
+ }
29
+ }
30
+
31
+ switch (platform) {
32
+ case 'android':
33
+ switch (arch) {
34
+ case 'arm64':
35
+ localFileExisted = existsSync(join(__dirname, 'amd-sev-snp-napi-rs.android-arm64.node'))
36
+ try {
37
+ if (localFileExisted) {
38
+ nativeBinding = require('./amd-sev-snp-napi-rs.android-arm64.node')
39
+ } else {
40
+ nativeBinding = require('amd-sev-snp-napi-rs-android-arm64')
41
+ }
42
+ } catch (e) {
43
+ loadError = e
44
+ }
45
+ break
46
+ case 'arm':
47
+ localFileExisted = existsSync(join(__dirname, 'amd-sev-snp-napi-rs.android-arm-eabi.node'))
48
+ try {
49
+ if (localFileExisted) {
50
+ nativeBinding = require('./amd-sev-snp-napi-rs.android-arm-eabi.node')
51
+ } else {
52
+ nativeBinding = require('amd-sev-snp-napi-rs-android-arm-eabi')
53
+ }
54
+ } catch (e) {
55
+ loadError = e
56
+ }
57
+ break
58
+ default:
59
+ throw new Error(`Unsupported architecture on Android ${arch}`)
60
+ }
61
+ break
62
+ case 'win32':
63
+ switch (arch) {
64
+ case 'x64':
65
+ localFileExisted = existsSync(
66
+ join(__dirname, 'amd-sev-snp-napi-rs.win32-x64-msvc.node')
67
+ )
68
+ try {
69
+ if (localFileExisted) {
70
+ nativeBinding = require('./amd-sev-snp-napi-rs.win32-x64-msvc.node')
71
+ } else {
72
+ nativeBinding = require('amd-sev-snp-napi-rs-win32-x64-msvc')
73
+ }
74
+ } catch (e) {
75
+ loadError = e
76
+ }
77
+ break
78
+ case 'ia32':
79
+ localFileExisted = existsSync(
80
+ join(__dirname, 'amd-sev-snp-napi-rs.win32-ia32-msvc.node')
81
+ )
82
+ try {
83
+ if (localFileExisted) {
84
+ nativeBinding = require('./amd-sev-snp-napi-rs.win32-ia32-msvc.node')
85
+ } else {
86
+ nativeBinding = require('amd-sev-snp-napi-rs-win32-ia32-msvc')
87
+ }
88
+ } catch (e) {
89
+ loadError = e
90
+ }
91
+ break
92
+ case 'arm64':
93
+ localFileExisted = existsSync(
94
+ join(__dirname, 'amd-sev-snp-napi-rs.win32-arm64-msvc.node')
95
+ )
96
+ try {
97
+ if (localFileExisted) {
98
+ nativeBinding = require('./amd-sev-snp-napi-rs.win32-arm64-msvc.node')
99
+ } else {
100
+ nativeBinding = require('amd-sev-snp-napi-rs-win32-arm64-msvc')
101
+ }
102
+ } catch (e) {
103
+ loadError = e
104
+ }
105
+ break
106
+ default:
107
+ throw new Error(`Unsupported architecture on Windows: ${arch}`)
108
+ }
109
+ break
110
+ case 'darwin':
111
+ localFileExisted = existsSync(join(__dirname, 'amd-sev-snp-napi-rs.darwin-universal.node'))
112
+ try {
113
+ if (localFileExisted) {
114
+ nativeBinding = require('./amd-sev-snp-napi-rs.darwin-universal.node')
115
+ } else {
116
+ nativeBinding = require('amd-sev-snp-napi-rs-darwin-universal')
117
+ }
118
+ break
119
+ } catch {}
120
+ switch (arch) {
121
+ case 'x64':
122
+ localFileExisted = existsSync(join(__dirname, 'amd-sev-snp-napi-rs.darwin-x64.node'))
123
+ try {
124
+ if (localFileExisted) {
125
+ nativeBinding = require('./amd-sev-snp-napi-rs.darwin-x64.node')
126
+ } else {
127
+ nativeBinding = require('amd-sev-snp-napi-rs-darwin-x64')
128
+ }
129
+ } catch (e) {
130
+ loadError = e
131
+ }
132
+ break
133
+ case 'arm64':
134
+ localFileExisted = existsSync(
135
+ join(__dirname, 'amd-sev-snp-napi-rs.darwin-arm64.node')
136
+ )
137
+ try {
138
+ if (localFileExisted) {
139
+ nativeBinding = require('./amd-sev-snp-napi-rs.darwin-arm64.node')
140
+ } else {
141
+ nativeBinding = require('amd-sev-snp-napi-rs-darwin-arm64')
142
+ }
143
+ } catch (e) {
144
+ loadError = e
145
+ }
146
+ break
147
+ default:
148
+ throw new Error(`Unsupported architecture on macOS: ${arch}`)
149
+ }
150
+ break
151
+ case 'freebsd':
152
+ if (arch !== 'x64') {
153
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
154
+ }
155
+ localFileExisted = existsSync(join(__dirname, 'amd-sev-snp-napi-rs.freebsd-x64.node'))
156
+ try {
157
+ if (localFileExisted) {
158
+ nativeBinding = require('./amd-sev-snp-napi-rs.freebsd-x64.node')
159
+ } else {
160
+ nativeBinding = require('amd-sev-snp-napi-rs-freebsd-x64')
161
+ }
162
+ } catch (e) {
163
+ loadError = e
164
+ }
165
+ break
166
+ case 'linux':
167
+ switch (arch) {
168
+ case 'x64':
169
+ if (isMusl()) {
170
+ localFileExisted = existsSync(
171
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-x64-musl.node')
172
+ )
173
+ try {
174
+ if (localFileExisted) {
175
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-x64-musl.node')
176
+ } else {
177
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-x64-musl')
178
+ }
179
+ } catch (e) {
180
+ loadError = e
181
+ }
182
+ } else {
183
+ localFileExisted = existsSync(
184
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-x64-gnu.node')
185
+ )
186
+ try {
187
+ if (localFileExisted) {
188
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-x64-gnu.node')
189
+ } else {
190
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-x64-gnu')
191
+ }
192
+ } catch (e) {
193
+ loadError = e
194
+ }
195
+ }
196
+ break
197
+ case 'arm64':
198
+ if (isMusl()) {
199
+ localFileExisted = existsSync(
200
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-arm64-musl.node')
201
+ )
202
+ try {
203
+ if (localFileExisted) {
204
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-arm64-musl.node')
205
+ } else {
206
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-arm64-musl')
207
+ }
208
+ } catch (e) {
209
+ loadError = e
210
+ }
211
+ } else {
212
+ localFileExisted = existsSync(
213
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-arm64-gnu.node')
214
+ )
215
+ try {
216
+ if (localFileExisted) {
217
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-arm64-gnu.node')
218
+ } else {
219
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-arm64-gnu')
220
+ }
221
+ } catch (e) {
222
+ loadError = e
223
+ }
224
+ }
225
+ break
226
+ case 'arm':
227
+ if (isMusl()) {
228
+ localFileExisted = existsSync(
229
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-arm-musleabihf.node')
230
+ )
231
+ try {
232
+ if (localFileExisted) {
233
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-arm-musleabihf.node')
234
+ } else {
235
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-arm-musleabihf')
236
+ }
237
+ } catch (e) {
238
+ loadError = e
239
+ }
240
+ } else {
241
+ localFileExisted = existsSync(
242
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-arm-gnueabihf.node')
243
+ )
244
+ try {
245
+ if (localFileExisted) {
246
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-arm-gnueabihf.node')
247
+ } else {
248
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-arm-gnueabihf')
249
+ }
250
+ } catch (e) {
251
+ loadError = e
252
+ }
253
+ }
254
+ break
255
+ case 'riscv64':
256
+ if (isMusl()) {
257
+ localFileExisted = existsSync(
258
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-riscv64-musl.node')
259
+ )
260
+ try {
261
+ if (localFileExisted) {
262
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-riscv64-musl.node')
263
+ } else {
264
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-riscv64-musl')
265
+ }
266
+ } catch (e) {
267
+ loadError = e
268
+ }
269
+ } else {
270
+ localFileExisted = existsSync(
271
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-riscv64-gnu.node')
272
+ )
273
+ try {
274
+ if (localFileExisted) {
275
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-riscv64-gnu.node')
276
+ } else {
277
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-riscv64-gnu')
278
+ }
279
+ } catch (e) {
280
+ loadError = e
281
+ }
282
+ }
283
+ break
284
+ case 's390x':
285
+ localFileExisted = existsSync(
286
+ join(__dirname, 'amd-sev-snp-napi-rs.linux-s390x-gnu.node')
287
+ )
288
+ try {
289
+ if (localFileExisted) {
290
+ nativeBinding = require('./amd-sev-snp-napi-rs.linux-s390x-gnu.node')
291
+ } else {
292
+ nativeBinding = require('amd-sev-snp-napi-rs-linux-s390x-gnu')
293
+ }
294
+ } catch (e) {
295
+ loadError = e
296
+ }
297
+ break
298
+ default:
299
+ throw new Error(`Unsupported architecture on Linux: ${arch}`)
300
+ }
301
+ break
302
+ default:
303
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
304
+ }
305
+
306
+ if (!nativeBinding) {
307
+ if (loadError) {
308
+ throw loadError
309
+ }
310
+ throw new Error(`Failed to load native binding`)
311
+ }
312
+
313
+ const { SNP_REPORT_DATA_SIZE, KDS_CERT_SITE, KDS_VCEK, SHA256_BUFFER_SIZE, ARK_MILAN_PEM, ARK_GENOA_PEM, ARK_TURIN_PEM, ASK_MILAN_PEM, ASK_GENOA_PEM, ASK_TURIN_PEM, WellKnownSnpCodeNames, IMPORTANT_SECURITY_FIELDS_DUMMY, getSnpReport, getVcekKdsUrl, getReportData, getReportMeasure, getReportVmpl, getReportPolicy, getReportImportantSecurityFields, getReportCpuInfo, getCpuGeneration, getCpuInfo, getCpuSig, getLogicalCoresCount, calcSnpMeasure } = nativeBinding
314
+
315
+ module.exports.SNP_REPORT_DATA_SIZE = SNP_REPORT_DATA_SIZE
316
+ module.exports.KDS_CERT_SITE = KDS_CERT_SITE
317
+ module.exports.KDS_VCEK = KDS_VCEK
318
+ module.exports.SHA256_BUFFER_SIZE = SHA256_BUFFER_SIZE
319
+ module.exports.ARK_MILAN_PEM = ARK_MILAN_PEM
320
+ module.exports.ARK_GENOA_PEM = ARK_GENOA_PEM
321
+ module.exports.ARK_TURIN_PEM = ARK_TURIN_PEM
322
+ module.exports.ASK_MILAN_PEM = ASK_MILAN_PEM
323
+ module.exports.ASK_GENOA_PEM = ASK_GENOA_PEM
324
+ module.exports.ASK_TURIN_PEM = ASK_TURIN_PEM
325
+ module.exports.WellKnownSnpCodeNames = WellKnownSnpCodeNames
326
+ module.exports.IMPORTANT_SECURITY_FIELDS_DUMMY = IMPORTANT_SECURITY_FIELDS_DUMMY
327
+ module.exports.getSnpReport = getSnpReport
328
+ module.exports.getVcekKdsUrl = getVcekKdsUrl
329
+ module.exports.getReportData = getReportData
330
+ module.exports.getReportMeasure = getReportMeasure
331
+ module.exports.getReportVmpl = getReportVmpl
332
+ module.exports.getReportPolicy = getReportPolicy
333
+ module.exports.getReportImportantSecurityFields = getReportImportantSecurityFields
334
+ module.exports.getReportCpuInfo = getReportCpuInfo
335
+ module.exports.getCpuGeneration = getCpuGeneration
336
+ module.exports.getCpuInfo = getCpuInfo
337
+ module.exports.getCpuSig = getCpuSig
338
+ module.exports.getLogicalCoresCount = getLogicalCoresCount
339
+ module.exports.calcSnpMeasure = calcSnpMeasure
@@ -0,0 +1,6 @@
1
+ # This file is generated by gyp; do not edit.
2
+
3
+ export builddir_name ?= ./build/../../usr/lib/node_modules/node-addon-api/.
4
+ .PHONY: all
5
+ all:
6
+ $(MAKE) -C ../../../../nvidia-native/build nothing
@@ -0,0 +1,159 @@
1
+ # This file is generated by gyp; do not edit.
2
+
3
+ TOOLSET := target
4
+ TARGET := nothing
5
+ DEFS_Debug := \
6
+ '-DNODE_GYP_MODULE_NAME=nothing' \
7
+ '-DUSING_UV_SHARED=1' \
8
+ '-DUSING_V8_SHARED=1' \
9
+ '-DV8_DEPRECATION_WARNINGS=1' \
10
+ '-D_GLIBCXX_USE_CXX11_ABI=1' \
11
+ '-D_FILE_OFFSET_BITS=64' \
12
+ '-D_LARGEFILE_SOURCE' \
13
+ '-D__STDC_FORMAT_MACROS' \
14
+ '-DOPENSSL_NO_PINSHARED' \
15
+ '-DOPENSSL_THREADS' \
16
+ '-DDEBUG' \
17
+ '-D_DEBUG'
18
+
19
+ # Flags passed to all source files.
20
+ CFLAGS_Debug := \
21
+ -fPIC \
22
+ -pthread \
23
+ -Wall \
24
+ -Wextra \
25
+ -Wno-unused-parameter \
26
+ -m64 \
27
+ -g \
28
+ -O0
29
+
30
+ # Flags passed to only C files.
31
+ CFLAGS_C_Debug :=
32
+
33
+ # Flags passed to only C++ files.
34
+ CFLAGS_CC_Debug := \
35
+ -fno-rtti \
36
+ -fno-exceptions \
37
+ -std=gnu++17
38
+
39
+ INCS_Debug := \
40
+ -I/root/.cache/node-gyp/20.20.0/include/node \
41
+ -I/root/.cache/node-gyp/20.20.0/src \
42
+ -I/root/.cache/node-gyp/20.20.0/deps/openssl/config \
43
+ -I/root/.cache/node-gyp/20.20.0/deps/openssl/openssl/include \
44
+ -I/root/.cache/node-gyp/20.20.0/deps/uv/include \
45
+ -I/root/.cache/node-gyp/20.20.0/deps/zlib \
46
+ -I/root/.cache/node-gyp/20.20.0/deps/v8/include
47
+
48
+ DEFS_Release := \
49
+ '-DNODE_GYP_MODULE_NAME=nothing' \
50
+ '-DUSING_UV_SHARED=1' \
51
+ '-DUSING_V8_SHARED=1' \
52
+ '-DV8_DEPRECATION_WARNINGS=1' \
53
+ '-D_GLIBCXX_USE_CXX11_ABI=1' \
54
+ '-D_FILE_OFFSET_BITS=64' \
55
+ '-D_LARGEFILE_SOURCE' \
56
+ '-D__STDC_FORMAT_MACROS' \
57
+ '-DOPENSSL_NO_PINSHARED' \
58
+ '-DOPENSSL_THREADS'
59
+
60
+ # Flags passed to all source files.
61
+ CFLAGS_Release := \
62
+ -fPIC \
63
+ -pthread \
64
+ -Wall \
65
+ -Wextra \
66
+ -Wno-unused-parameter \
67
+ -m64 \
68
+ -O3 \
69
+ -fno-omit-frame-pointer
70
+
71
+ # Flags passed to only C files.
72
+ CFLAGS_C_Release :=
73
+
74
+ # Flags passed to only C++ files.
75
+ CFLAGS_CC_Release := \
76
+ -fno-rtti \
77
+ -fno-exceptions \
78
+ -std=gnu++17
79
+
80
+ INCS_Release := \
81
+ -I/root/.cache/node-gyp/20.20.0/include/node \
82
+ -I/root/.cache/node-gyp/20.20.0/src \
83
+ -I/root/.cache/node-gyp/20.20.0/deps/openssl/config \
84
+ -I/root/.cache/node-gyp/20.20.0/deps/openssl/openssl/include \
85
+ -I/root/.cache/node-gyp/20.20.0/deps/uv/include \
86
+ -I/root/.cache/node-gyp/20.20.0/deps/zlib \
87
+ -I/root/.cache/node-gyp/20.20.0/deps/v8/include
88
+
89
+ OBJS := \
90
+ $(obj).target/$(TARGET)/../../usr/lib/node_modules/node-addon-api/nothing.o
91
+
92
+ # Add to the list of files we specially track dependencies for.
93
+ all_deps += $(OBJS)
94
+
95
+ # CFLAGS et al overrides must be target-local.
96
+ # See "Target-specific Variable Values" in the GNU Make manual.
97
+ $(OBJS): TOOLSET := $(TOOLSET)
98
+ $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
99
+ $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
100
+
101
+ # Suffix rules, putting all outputs into $(obj).
102
+
103
+ $(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.c FORCE_DO_CMD
104
+ @$(call do_cmd,cc,1)
105
+
106
+ # Try building from generated source, too.
107
+
108
+ $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
109
+ @$(call do_cmd,cc,1)
110
+
111
+ $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.c FORCE_DO_CMD
112
+ @$(call do_cmd,cc,1)
113
+
114
+ # End of this set of suffix rules
115
+ ### Rules for final target.
116
+ LDFLAGS_Debug := \
117
+ -pthread \
118
+ -rdynamic \
119
+ -m64
120
+
121
+ LDFLAGS_Release := \
122
+ -pthread \
123
+ -rdynamic \
124
+ -m64
125
+
126
+ LIBS :=
127
+
128
+ $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
129
+ $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a: LIBS := $(LIBS)
130
+ $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a: TOOLSET := $(TOOLSET)
131
+ $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a: $(OBJS)
132
+ $(call create_archive,$@,$^)
133
+
134
+ # Add target alias
135
+ .PHONY: nothing
136
+ nothing: $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a
137
+
138
+ # Add target alias to "all" target.
139
+ .PHONY: all
140
+ all: nothing
141
+
142
+ # Add target alias
143
+ .PHONY: nothing
144
+ nothing: $(builddir)/nothing.a
145
+
146
+ # Copy this to the static library output path.
147
+ $(builddir)/nothing.a: TOOLSET := $(TOOLSET)
148
+ $(builddir)/nothing.a: $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a FORCE_DO_CMD
149
+ $(call do_cmd,copy)
150
+
151
+ all_deps += $(builddir)/nothing.a
152
+ # Short alias for building this static library.
153
+ .PHONY: nothing.a
154
+ nothing.a: $(obj).target/../../usr/lib/node_modules/node-addon-api/nothing.a $(builddir)/nothing.a
155
+
156
+ # Add static library to "all" target.
157
+ .PHONY: all
158
+ all: $(builddir)/nothing.a
159
+