forked from zerovm/zerovm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
executable file
·605 lines (415 loc) · 39 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
#RELEASE BUILD
#CCFLAGS=-DNDEBUG -g ${NETWORKING}
#CXXFLAGS=-DNDEBUG -g ${NETWORKING}
#DEBUG BUILD
CCFLAGS=-DDEBUG -g ${NETWORKING}
CXXFLAGS=-DDEBUG -g ${NETWORKING}
#CCFLAGS=-g -O2 ${NETWORKING}
#CXXFLAGS=-g -O2 ${NETWORKING}
#For networking support, uncomment variables below
#NETWORKING=-DNETWORKING
#NETW_LIB=-lnetw -lzmq
#NETW_MAIN_RULES=zvm_netw.db
#NETW_RULES=obj/libsqlite3.a obj/libnetw.a
#NETW_TEST_RULES=test/zmq_netw_test test/sqluse_srv_test test/zvm_netw_test test_config
CCFLAGS0=-c -m64 -fPIC -D_FORTIFY_SOURCE=2 -DNACL_WINDOWS=0 -DNACL_OSX=0 -DNACL_LINUX=1 -D_BSD_SOURCE=1 -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__STDC_LIMIT_MACROS=1 -D__STDC_FORMAT_MACROS=1 -DNACL_BLOCK_SHIFT=5 -DNACL_BLOCK_SIZE=32 -DNACL_BUILD_ARCH=x86 -DNACL_BUILD_SUBARCH=64 -DNACL_TARGET_ARCH=x86 -DNACL_TARGET_SUBARCH=64 -DNACL_STANDALONE=1 -DNACL_ENABLE_TMPFS_REDIRECT_VAR=0 -I.
CCFLAGS1=-std=gnu99 -Wdeclaration-after-statement -fPIE -Wall -pedantic -Wno-long-long -fvisibility=hidden -fstack-protector --param ssp-buffer-size=4
CCFLAGS2=-Wextra -Wswitch-enum -Wsign-compare
CCFLAGS3=-fno-strict-aliasing -Wno-missing-field-initializers
CCFLAGS4=-DNACL_TRUSTED_BUT_NOT_TCB
CXXFLAGS1=-c -std=c++98 -Wno-variadic-macros -m64 -fPIE -Wall -pedantic -Wno-long-long -fvisibility=hidden -fstack-protector --param ssp-buffer-size=4 -DNACL_TRUSTED_BUT_NOT_TCB -D_FORTIFY_SOURCE=2 -DNACL_WINDOWS=0 -DNACL_OSX=0 -DNACL_LINUX=1 -D_BSD_SOURCE=1 -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__STDC_LIMIT_MACROS=1 -D__STDC_FORMAT_MACROS=1 -DNACL_BLOCK_SHIFT=5 -DNACL_BLOCK_SIZE=32 -DNACL_BUILD_ARCH=x86 -DNACL_BUILD_SUBARCH=64 -DNACL_TARGET_ARCH=x86 -DNACL_TARGET_SUBARCH=64 -DNACL_STANDALONE=1 -DNACL_ENABLE_TMPFS_REDIRECT_VAR=0 -I.
CXXFLAGS2=-Wl,-z,noexecstack -m64 -Wno-variadic-macros -L/usr/lib64 -pie -Wl,-z,relro -Wl,-z,now -Wl,-rpath=obj
all: create_dirs zerovm zvm_api ${NETW_MAIN_RULES} tests
create_dirs:
@mkdir obj -p
@mkdir test -p
ifdef NETWORKING
chmod u+rwx create_zerovm_config.sh
./create_zerovm_config.sh
endif
zerovm: obj/sel_main.o obj/libsel.a obj/libnacl_error_code.a obj/libgio_wrapped_desc.a obj/libnrd_xfer.a obj/libnacl_perf_counter.a obj/libnacl_base.a obj/libimc.a obj/libnacl_fault_inject.a obj/libplatform.a obj/libplatform_qual_lib.a obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a ${NETW_RULES}
@g++ ${CXXFLAGS} -o zerovm ${CXXFLAGS2} obj/sel_main.o -L/usr/lib -lsel -lnacl_error_code -lgio_wrapped_desc -lnrd_xfer -lnacl_perf_counter -lnacl_base -limc -lnacl_fault_inject -lplatform -lplatform_qual_lib -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio ${NETW_LIB} -lrt -lpthread -lcrypto -ldl -Lobj -Lgtest
tests: test_compile
test/x86_validator_tests_nc_remaining_memory
test/service_runtime_tests
test/x86_decoder_tests_nc_inst_state
test/x86_validator_tests_halt_trim
test/x86_validator_tests_nc_inst_bytes
test/manifest_parser_test
test/manifest_setup_test
test/nacl_log_test
ifdef NETWORKING
test/sqluse_srv_test
test/zmq_netw_test
test/zvm_netw_test
zvm_netw.db:
/usr/local/bin/sqlite3 zvm_netw.db < zerovm_config.sql
test_config:
sh gtest/data/test_db_creator.sh
endif
zvm_api: api/syscall_manager.S api/zrt.c api/zvm.c
@make -Capi
test_compile: test/x86_validator_tests_halt_trim test/service_runtime_tests test/x86_decoder_tests_nc_inst_state test/x86_validator_tests_nc_inst_bytes test/x86_validator_tests_nc_remaining_memory test/manifest_parser_test test/manifest_setup_test test/nacl_log_test ${NETW_TEST_RULES}
obj/halt_trim_tests.o: src/validator/x86/halt_trim_tests.cc
@g++ ${CXXFLAGS} -o obj/halt_trim_tests.o ${CXXFLAGS1} -Igtest/include src/validator/x86/halt_trim_tests.cc
test/x86_validator_tests_halt_trim: obj/halt_trim_tests.o obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/x86_validator_tests_halt_trim ${CXXFLAGS2} obj/halt_trim_tests.o -L/usr/lib -Lobj -Lgtest -lgtest -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio -lrt -lpthread -lcrypto
obj/manifest_parser_test.o: src/manifest/manifest_parser_test.cc
@g++ ${CXXFLAGS} -o obj/manifest_parser_test.o ${CXXFLAGS1} src/manifest/manifest_parser_test.cc
test/manifest_parser_test: obj/manifest_parser_test.o obj/libsel.a obj/libgio_wrapped_desc.a obj/libnrd_xfer.a obj/libnacl_perf_counter.a obj/libnacl_base.a obj/libimc.a obj/libnacl_fault_inject.a obj/libplatform.a obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/manifest_parser_test ${CXXFLAGS2} obj/manifest_parser_test.o -L/usr/lib -Lobj -Lgtest -lgtest -lsel -lgio_wrapped_desc -lnrd_xfer -lnacl_perf_counter -lnacl_base -limc -lnacl_fault_inject -lplatform -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio ${NETW_LIB} -lrt -lpthread -lcrypto -ldl
obj/manifest_setup_test.o: src/manifest/manifest_setup_test.cc
@g++ ${CXXFLAGS} -o obj/manifest_setup_test.o ${CXXFLAGS1} src/manifest/manifest_setup_test.cc
test/manifest_setup_test: obj/manifest_setup_test.o obj/libsel.a obj/libgio_wrapped_desc.a obj/libnrd_xfer.a obj/libnacl_perf_counter.a obj/libnacl_base.a obj/libimc.a obj/libnacl_fault_inject.a obj/libplatform.a obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/manifest_setup_test ${CXXFLAGS2} obj/manifest_setup_test.o -L/usr/lib -Lobj -Lgtest -lgtest -lsel -lgio_wrapped_desc -lnrd_xfer -lnacl_perf_counter -lnacl_base -limc -lnacl_fault_inject -lplatform -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio ${NETW_LIB} -lrt -lpthread -lcrypto -ldl
obj/nacl_log_test.o: src/platform/nacl_log_test.cc
@g++ ${CXXFLAGS} -o obj/nacl_log_test.o ${CXXFLAGS1} src/platform/nacl_log_test.cc
test/nacl_log_test: obj/nacl_log_test.o obj/libsel.a obj/libgio_wrapped_desc.a obj/libnrd_xfer.a obj/libnacl_perf_counter.a obj/libnacl_base.a obj/libimc.a obj/libnacl_fault_inject.a obj/libplatform.a obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/nacl_log_test ${CXXFLAGS2} obj/nacl_log_test.o -L/usr/lib -Lobj -Lgtest -lgtest -lsel -lgio_wrapped_desc -lnrd_xfer -lnacl_perf_counter -lnacl_base -limc -lnacl_fault_inject -lplatform -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio ${NETW_LIB} -lrt -lpthread -lcrypto -ldl
obj/sel_ldr_test.o: src/service_runtime/sel_ldr_test.cc
@g++ ${CXXFLAGS} -o obj/sel_ldr_test.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} -Igtest/include src/service_runtime/sel_ldr_test.cc
obj/sel_mem_test.o: src/service_runtime/sel_mem_test.cc
@g++ ${CXXFLAGS} -o obj/sel_mem_test.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} -Igtest/include src/service_runtime/sel_mem_test.cc
obj/sel_memory_unittest.o: src/service_runtime/sel_memory_unittest.cc
@g++ ${CXXFLAGS} -o obj/sel_memory_unittest.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} -Igtest/include src/service_runtime/sel_memory_unittest.cc
obj/unittest_main.o: src/service_runtime/unittest_main.cc
@g++ ${CXXFLAGS} -o obj/unittest_main.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} -Igtest/include src/service_runtime/unittest_main.cc
test/service_runtime_tests: obj/sel_ldr_test.o obj/sel_mem_test.o obj/sel_memory_unittest.o obj/unittest_main.o obj/libsel.a obj/libgio_wrapped_desc.a obj/libnrd_xfer.a obj/libnacl_perf_counter.a obj/libnacl_base.a obj/libimc.a obj/libnacl_fault_inject.a obj/libplatform.a obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/service_runtime_tests ${CXXFLAGS2} obj/unittest_main.o obj/sel_memory_unittest.o obj/sel_mem_test.o obj/sel_ldr_test.o -L/usr/lib -lgtest -lsel -lgio_wrapped_desc -lnrd_xfer -lnacl_perf_counter -lnacl_base -limc -lnacl_fault_inject -lplatform -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio ${NETW_LIB} -lrt -lpthread -lcrypto -ldl -Lobj -Lgtest
obj/nc_inst_state_tests.o: src/validator/x86/decoder/nc_inst_state_tests.cc
@g++ ${CXXFLAGS} -o obj/nc_inst_state_tests.o ${CXXFLAGS1} -Igtest/include src/validator/x86/decoder/nc_inst_state_tests.cc
test/x86_decoder_tests_nc_inst_state: obj/nc_inst_state_tests.o obj/ncval_decode_tables.o obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/x86_decoder_tests_nc_inst_state ${CXXFLAGS2} obj/nc_inst_state_tests.o obj/ncval_decode_tables.o -L/usr/lib -lgtest -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio -lrt -lpthread -lcrypto -Lobj -Lgtest
obj/nc_inst_bytes_tests.o: src/validator/x86/nc_inst_bytes_tests.cc
@g++ ${CXXFLAGS} -o obj/nc_inst_bytes_tests.o ${CXXFLAGS1} -Igtest/include src/validator/x86/nc_inst_bytes_tests.cc
test/x86_validator_tests_nc_inst_bytes: obj/nc_inst_bytes_tests.o obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/x86_validator_tests_nc_inst_bytes ${CXXFLAGS2} obj/nc_inst_bytes_tests.o -L/usr/lib -lgtest -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio -lrt -lpthread -lcrypto -Lobj -Lgtest
obj/nc_remaining_memory_tests.o: src/validator/x86/nc_remaining_memory_tests.cc
@g++ ${CXXFLAGS} -o obj/nc_remaining_memory_tests.o ${CXXFLAGS1} -Igtest/include src/validator/x86/nc_remaining_memory_tests.cc
test/x86_validator_tests_nc_remaining_memory: obj/nc_remaining_memory_tests.o obj/libncvalidate_x86_64.a obj/libncval_reg_sfi_x86_64.a obj/libnccopy_x86_64.a obj/libnc_decoder_x86_64.a obj/libnc_opcode_modeling_x86_64.a obj/libncval_base_x86_64.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/x86_validator_tests_nc_remaining_memory ${CXXFLAGS2} obj/nc_remaining_memory_tests.o -L/usr/lib -lgtest -lncvalidate_x86_64 -lncval_reg_sfi_x86_64 -lnccopy_x86_64 -lnc_decoder_x86_64 -lnc_opcode_modeling_x86_64 -lncval_base_x86_64 -lplatform -lgio -lrt -lpthread -lcrypto -Lobj -Lgtest
ifdef NETWORKING
obj/zmq_netw_test.o: src/networking/zmq_netw_test.cc
@g++ ${CXXFLAGS} -o obj/zmq_netw_test.o ${CXXFLAGS1} -Igtest/include src/networking/zmq_netw_test.cc
test/zmq_netw_test: obj/zmq_netw_test.o obj/libnetw.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/zmq_netw_test ${CXXFLAGS2} obj/zmq_netw_test.o -Lobj -lplatform -lgio ${NETW_LIB} -Lgtest -lgtest -I. -Igtest
obj/zvm_netw_test.o: src/networking/zvm_netw_test.cc
@g++ ${CXXFLAGS} -o obj/zvm_netw_test.o ${CXXFLAGS1} -Igtest/include src/networking/zvm_netw_test.cc
test/zvm_netw_test: obj/zvm_netw_test.o obj/libnetw.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/zvm_netw_test ${CXXFLAGS2} obj/zvm_netw_test.o -Lobj -lplatform -lgio -lsel ${NETW_LIB} -Lgtest -lgtest -I. -Igtest
obj/sqluse_srv_test.o: src/networking/sqluse_srv_test.cc
@g++ ${CXXFLAGS} -o obj/sqluse_srv_test.o ${CXXFLAGS1} -Igtest/include src/networking/sqluse_srv_test.cc
test/sqluse_srv_test: obj/sqluse_srv_test.o obj/libnetw.a obj/libplatform.a obj/libgio.a
@g++ ${CXXFLAGS} -o test/sqluse_srv_test ${CXXFLAGS2} obj/sqluse_srv_test.o -lpthread -Lobj -lnetw -lplatform -lgio -Lgtest -lgtest -I. -Igtest -Iserver
endif
clean: clean_intermediate clean_api
@rm -f zerovm
@echo ZeroVM has been deleted
clean_intermediate:
@rm -f obj/*
@echo intermediate files has been deleted
@rm -f test/*
@echo unit tests has been deleted
@rm -f gtest/data/zerovm_test.db
@rm -f zvm_netw.db
clean_api:
@make -Capi clean
@echo api binaries has been deleted
#obj/libmanifest.a: obj/manifest_parser.o obj/manifest_setup.o obj/md5.o obj/mount_channel.o obj/prefetch.o obj/preload.o obj/premap.o obj/trap.o
# @ar rc obj/libmanifest.a obj/manifest_parser.o obj/manifest_setup.o obj/md5.o obj/mount_channel.o obj/prefetch.o obj/preload.o obj/premap.o obj/trap.o
obj/libsel.a: obj/dyn_array.o obj/elf_util.o obj/nacl_all_modules.o obj/nacl_desc_effector_ldr.o obj/nacl_globals.o obj/nacl_memory_object.o obj/nacl_signal_common.o obj/nacl_syscall_handlers.o obj/nacl_syscall_hook.o obj/nacl_text.o obj/sel_addrspace.o obj/sel_ldr.o obj/sel_ldr_standard.o obj/sel_mem.o obj/sel_qualify.o obj/sel_util-inl.o obj/sel_validate_image.o obj/nacl_ldt_x86.o obj/nacl_switch_64.o obj/nacl_switch_to_app_64.o obj/nacl_syscall_64.o obj/sel_addrspace_x86_64.o obj/sel_ldr_x86_64.o obj/sel_rt_64.o obj/tramp_64.o obj/sel_addrspace_posix_x86_64.o obj/sel_memory.o obj/nacl_ldt.o obj/sel_segments.o obj/nacl_signal.o obj/nacl_signal_64.o obj/manifest_parser.o obj/manifest_setup.o obj/md5.o obj/mount_channel.o obj/prefetch.o obj/preload.o obj/premap.o obj/trap.o
@ar rc obj/libsel.a obj/dyn_array.o obj/elf_util.o obj/nacl_all_modules.o obj/nacl_desc_effector_ldr.o obj/nacl_globals.o obj/nacl_memory_object.o obj/nacl_signal_common.o obj/nacl_syscall_handlers.o obj/nacl_syscall_hook.o obj/nacl_text.o obj/sel_addrspace.o obj/sel_ldr.o obj/sel_ldr_standard.o obj/sel_mem.o obj/sel_qualify.o obj/sel_util-inl.o obj/sel_validate_image.o obj/nacl_ldt_x86.o obj/nacl_switch_64.o obj/nacl_switch_to_app_64.o obj/nacl_syscall_64.o obj/sel_addrspace_x86_64.o obj/sel_ldr_x86_64.o obj/sel_rt_64.o obj/tramp_64.o obj/sel_addrspace_posix_x86_64.o obj/sel_memory.o obj/nacl_ldt.o obj/sel_segments.o obj/nacl_signal.o obj/nacl_signal_64.o obj/manifest_parser.o obj/manifest_setup.o obj/md5.o obj/mount_channel.o obj/prefetch.o obj/preload.o obj/premap.o obj/trap.o
obj/libnacl_error_code.a: obj/nacl_error_code.o
@ar rc obj/libnacl_error_code.a obj/nacl_error_code.o
obj/libgio_wrapped_desc.a: obj/gio_shm.o obj/gio_shm_unbounded.o obj/gio_nacl_desc.o
@ar rc obj/libgio_wrapped_desc.a obj/gio_shm.o obj/gio_shm_unbounded.o obj/gio_nacl_desc.o
obj/libnrd_xfer.a: obj/nacl_desc_base.o obj/nacl_desc_cond.o obj/nacl_desc_dir.o obj/nacl_desc_effector_trusted_mem.o obj/nacl_desc_imc.o obj/nacl_desc_imc_shm.o obj/nacl_desc_invalid.o obj/nacl_desc_io.o obj/nacl_desc_mutex.o obj/nacl_desc_rng.o obj/nacl_desc_semaphore.o obj/nacl_desc_sync_socket.o obj/nrd_all_modules.o obj/nacl_desc.o obj/nacl_desc_sysv_shm.o obj/nacl_desc_conn_cap.o obj/nacl_desc_imc_bound_desc.o
@ar rc obj/libnrd_xfer.a obj/nacl_desc_base.o obj/nacl_desc_cond.o obj/nacl_desc_dir.o obj/nacl_desc_effector_trusted_mem.o obj/nacl_desc_imc.o obj/nacl_desc_imc_shm.o obj/nacl_desc_invalid.o obj/nacl_desc_io.o obj/nacl_desc_mutex.o obj/nacl_desc_rng.o obj/nacl_desc_semaphore.o obj/nacl_desc_sync_socket.o obj/nrd_all_modules.o obj/nacl_desc.o obj/nacl_desc_sysv_shm.o obj/nacl_desc_conn_cap.o obj/nacl_desc_imc_bound_desc.o
obj/libnacl_perf_counter.a: obj/nacl_perf_counter.o
@ar rc obj/libnacl_perf_counter.a obj/nacl_perf_counter.o
obj/libnacl_base.a: obj/nacl_refcount.o
@ar rc obj/libnacl_base.a obj/nacl_refcount.o
obj/libimc.a: obj/nacl_imc_common.o obj/nacl_imc_c.o obj/nacl_imc_unistd.o obj/nacl_imc.o
@ar rc obj/libimc.a obj/nacl_imc_common.o obj/nacl_imc_c.o obj/nacl_imc_unistd.o obj/nacl_imc.o
obj/libnacl_fault_inject.a: obj/fault_injection.o
@ar rc obj/libnacl_fault_inject.a obj/fault_injection.o
obj/libplatform.a: obj/nacl_exit.o obj/nacl_find_addrsp.o obj/nacl_host_desc.o obj/nacl_host_dir.o obj/nacl_secure_random.o obj/nacl_semaphore.o obj/nacl_time.o obj/nacl_timestamp.o obj/condition_variable.o obj/lock.o obj/nacl_check.o obj/nacl_global_secure_random.o obj/nacl_host_desc_common.o obj/nacl_interruptible_condvar.o obj/nacl_interruptible_mutex.o obj/nacl_log.o obj/nacl_secure_random_common.o obj/nacl_sync_checked.o obj/platform_init.o
@ar rc obj/libplatform.a obj/nacl_exit.o obj/nacl_find_addrsp.o obj/nacl_host_desc.o obj/nacl_host_dir.o obj/nacl_secure_random.o obj/nacl_semaphore.o obj/nacl_time.o obj/nacl_timestamp.o obj/condition_variable.o obj/lock.o obj/nacl_check.o obj/nacl_global_secure_random.o obj/nacl_host_desc_common.o obj/nacl_interruptible_condvar.o obj/nacl_interruptible_mutex.o obj/nacl_log.o obj/nacl_secure_random_common.o obj/nacl_sync_checked.o obj/platform_init.o
obj/libplatform_qual_lib.a: obj/nacl_os_qualify.o obj/sysv_shm_and_mmap.o obj/nacl_dep_qualify.o obj/nacl_dep_qualify_arch.o
@ar rc obj/libplatform_qual_lib.a obj/nacl_os_qualify.o obj/sysv_shm_and_mmap.o obj/nacl_dep_qualify.o obj/nacl_dep_qualify_arch.o
obj/libncvalidate_x86_64.a: obj/ncvalidate.o
@ar rc obj/libncvalidate_x86_64.a obj/ncvalidate.o
obj/libncval_reg_sfi_x86_64.a: obj/ncvalidate_iter.o obj/ncvalidate_iter_detailed.o obj/nc_cpu_checks.o obj/nc_illegal.o obj/nc_jumps.o obj/address_sets.o obj/nc_jumps_detailed.o obj/nc_opcode_histogram.o obj/nc_protect_base.o obj/nc_memory_protect.o obj/ncvalidate_utils.o obj/ncval_decode_tables.o
@ar rc obj/libncval_reg_sfi_x86_64.a obj/ncvalidate_iter.o obj/ncvalidate_iter_detailed.o obj/nc_cpu_checks.o obj/nc_illegal.o obj/nc_jumps.o obj/address_sets.o obj/nc_jumps_detailed.o obj/nc_opcode_histogram.o obj/nc_protect_base.o obj/nc_memory_protect.o obj/ncvalidate_utils.o obj/ncval_decode_tables.o
obj/libnccopy_x86_64.a: obj/nccopycode.o obj/nccopycode_stores.o
@ar rc obj/libnccopy_x86_64.a obj/nccopycode.o obj/nccopycode_stores.o
obj/libnc_decoder_x86_64.a: obj/nc_inst_iter.o obj/nc_inst_state.o obj/nc_inst_trans.o obj/ncop_exps.o
@ar rc obj/libnc_decoder_x86_64.a obj/nc_inst_iter.o obj/nc_inst_state.o obj/nc_inst_trans.o obj/ncop_exps.o
obj/libnc_opcode_modeling_x86_64.a: obj/ncopcode_desc.o
@ar rc obj/libnc_opcode_modeling_x86_64.a obj/ncopcode_desc.o
obj/libncval_base_x86_64.a: obj/error_reporter.o obj/halt_trim.o obj/nacl_cpuid.o obj/nacl_xgetbv.o obj/ncinstbuffer.o obj/x86_insts.o obj/nc_segment.o
@ar rc obj/libncval_base_x86_64.a obj/error_reporter.o obj/halt_trim.o obj/nacl_cpuid.o obj/nacl_xgetbv.o obj/ncinstbuffer.o obj/x86_insts.o obj/nc_segment.o
obj/libgio.a: obj/gio.o obj/gio_mem.o obj/gprintf.o obj/gio_mem_snapshot.o
@ar rc obj/libgio.a obj/gio.o obj/gio_mem.o obj/gprintf.o obj/gio_mem_snapshot.o
ifdef NETWORKING
obj/libsqlite3.a: obj/sqlite3.o
@ar rc obj/libsqlite3.a obj/sqlite3.o
obj/libnetw.a: obj/zmq_netw.o obj/sqluse_srv.o obj/zvm_netw.o
@ar rc obj/libnetw.a obj/zmq_netw.o obj/zvm_netw.o obj/sqluse_srv.o obj/sqlite3.o
endif
######################################################################## compilation to obj
obj/mount_channel.o: src/manifest/mount_channel.c
@gcc ${CCFLAGS} -o obj/mount_channel.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/mount_channel.c
obj/prefetch.o: src/manifest/prefetch.c
@gcc ${CCFLAGS} -o obj/prefetch.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/prefetch.c
obj/preload.o: src/manifest/preload.c
@gcc ${CCFLAGS} -o obj/preload.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/preload.c
obj/premap.o: src/manifest/premap.c
@gcc ${CCFLAGS} -o obj/premap.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/premap.c
obj/trap.o: src/manifest/trap.c
@gcc ${CCFLAGS} -o obj/trap.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/trap.c
#@g++ ${CXXFLAGS} -o obj/trap.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} src/manifest/trap.c
obj/manifest_setup.o: src/manifest/manifest_setup.c
@gcc ${CCFLAGS} -o obj/manifest_setup.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/manifest_setup.c
obj/md5.o: src/manifest/md5.c
@gcc ${CCFLAGS} -o obj/md5.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/manifest/md5.c
obj/manifest_parser.o: src/manifest/manifest_parser.c
@gcc ${CCFLAGS} -o obj/manifest_parser.o ${CCFLAGS0} ${CCFLAGS1} src/manifest/manifest_parser.c
obj/ncvalidate.o: src/validator/x86/64/ncvalidate.c
@gcc ${CCFLAGS} -o obj/ncvalidate.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS4} src/validator/x86/64/ncvalidate.c
obj/nacl_switch_64.o: src/service_runtime/arch/x86_64/nacl_switch_64.S
@gcc ${CCFLAGS} -o obj/nacl_switch_64.o ${CCFLAGS0} ${CCFLAGS2} src/service_runtime/arch/x86_64/nacl_switch_64.S
obj/nacl_syscall_64.o: src/service_runtime/arch/x86_64/nacl_syscall_64.S
@gcc ${CCFLAGS} -o obj/nacl_syscall_64.o ${CCFLAGS0} ${CCFLAGS2} src/service_runtime/arch/x86_64/nacl_syscall_64.S
obj/tramp_64.o: src/service_runtime/arch/x86_64/tramp_64.S
@gcc ${CCFLAGS} -o obj/tramp_64.o ${CCFLAGS0} ${CCFLAGS2} src/service_runtime/arch/x86_64/tramp_64.S
obj/nccopycode_stores.o: src/validator_x86/nccopycode_stores.S
@gcc ${CCFLAGS} -o obj/nccopycode_stores.o ${CCFLAGS0} ${CCFLAGS2} src/validator_x86/nccopycode_stores.S
obj/nacl_xgetbv.o: src/validator/x86/nacl_xgetbv.S
@gcc ${CCFLAGS} -o obj/nacl_xgetbv.o ${CCFLAGS0} ${CCFLAGS2} src/validator/x86/nacl_xgetbv.S
obj/sel_main.o: src/service_runtime/sel_main.c
@gcc ${CCFLAGS} -o obj/sel_main.o ${CCFLAGS0} ${CCFLAGS1} ${CCFLAGS5} src/service_runtime/sel_main.c
obj/dyn_array.o: src/service_runtime/dyn_array.c
@gcc ${CCFLAGS} -o obj/dyn_array.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/dyn_array.c
obj/elf_util.o: src/service_runtime/elf_util.c
@gcc ${CCFLAGS} -o obj/elf_util.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/elf_util.c
obj/nacl_all_modules.o: src/service_runtime/nacl_all_modules.c
@gcc ${CCFLAGS} -o obj/nacl_all_modules.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_all_modules.c
obj/nacl_desc_effector_ldr.o: src/service_runtime/nacl_desc_effector_ldr.c
@gcc ${CCFLAGS} -o obj/nacl_desc_effector_ldr.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_desc_effector_ldr.c
obj/nacl_globals.o: src/service_runtime/nacl_globals.c
@gcc ${CCFLAGS} -o obj/nacl_globals.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_globals.c
obj/nacl_memory_object.o: src/service_runtime/nacl_memory_object.c
@gcc ${CCFLAGS} -o obj/nacl_memory_object.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_memory_object.c
obj/nacl_signal_common.o: src/service_runtime/nacl_signal_common.c
@gcc ${CCFLAGS} -o obj/nacl_signal_common.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_signal_common.c
obj/nacl_syscall_handlers.o: src/service_runtime/nacl_syscall_handlers.c
@gcc ${CCFLAGS} -o obj/nacl_syscall_handlers.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_syscall_handlers.c
obj/nacl_syscall_hook.o: src/service_runtime/nacl_syscall_hook.c
@gcc ${CCFLAGS} -o obj/nacl_syscall_hook.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_syscall_hook.c
obj/nacl_text.o: src/service_runtime/nacl_text.c
@gcc ${CCFLAGS} -o obj/nacl_text.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_text.c
obj/sel_addrspace.o: src/service_runtime/sel_addrspace.c
@gcc ${CCFLAGS} -o obj/sel_addrspace.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_addrspace.c
obj/sel_ldr.o: src/service_runtime/sel_ldr.c
@gcc ${CCFLAGS} -o obj/sel_ldr.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_ldr.c
obj/sel_ldr_standard.o: src/service_runtime/sel_ldr_standard.c
@gcc ${CCFLAGS} -o obj/sel_ldr_standard.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_ldr_standard.c
obj/sel_mem.o: src/service_runtime/sel_mem.c
@gcc ${CCFLAGS} -o obj/sel_mem.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_mem.c
obj/sel_qualify.o: src/service_runtime/sel_qualify.c
@gcc ${CCFLAGS} -o obj/sel_qualify.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_qualify.c
obj/sel_util-inl.o: src/service_runtime/sel_util-inl.c
@gcc ${CCFLAGS} -o obj/sel_util-inl.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_util-inl.c
obj/sel_validate_image.o: src/service_runtime/sel_validate_image.c
@gcc ${CCFLAGS} -o obj/sel_validate_image.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/sel_validate_image.c
obj/nacl_ldt_x86.o: src/service_runtime/arch/x86/nacl_ldt_x86.c
@gcc ${CCFLAGS} -o obj/nacl_ldt_x86.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86/nacl_ldt_x86.c
obj/nacl_switch_to_app_64.o: src/service_runtime/arch/x86_64/nacl_switch_to_app_64.c
@gcc ${CCFLAGS} -o obj/nacl_switch_to_app_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86_64/nacl_switch_to_app_64.c
obj/sel_addrspace_x86_64.o: src/service_runtime/arch/x86_64/sel_addrspace_x86_64.c
@gcc ${CCFLAGS} -o obj/sel_addrspace_x86_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86_64/sel_addrspace_x86_64.c
obj/sel_ldr_x86_64.o: src/service_runtime/arch/x86_64/sel_ldr_x86_64.c
@gcc ${CCFLAGS} -o obj/sel_ldr_x86_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86_64/sel_ldr_x86_64.c
obj/sel_rt_64.o: src/service_runtime/arch/x86_64/sel_rt_64.c
@gcc ${CCFLAGS} -o obj/sel_rt_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86_64/sel_rt_64.c
obj/sel_addrspace_posix_x86_64.o: src/service_runtime/arch/x86_64/sel_addrspace_posix_x86_64.c
@gcc ${CCFLAGS} -o obj/sel_addrspace_posix_x86_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/arch/x86_64/sel_addrspace_posix_x86_64.c
obj/sel_memory.o: src/service_runtime/linux/sel_memory.c
@gcc ${CCFLAGS} -o obj/sel_memory.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/linux/sel_memory.c
obj/nacl_ldt.o: src/service_runtime/linux/x86/nacl_ldt.c
@gcc ${CCFLAGS} -o obj/nacl_ldt.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/linux/x86/nacl_ldt.c
obj/sel_segments.o: src/service_runtime/linux/x86/sel_segments.c
@gcc ${CCFLAGS} -o obj/sel_segments.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/linux/x86/sel_segments.c
obj/nacl_signal.o: src/service_runtime/posix/nacl_signal.c
@gcc ${CCFLAGS} -o obj/nacl_signal.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/posix/nacl_signal.c
obj/nacl_signal_64.o: src/service_runtime/linux/nacl_signal_64.c
@gcc ${CCFLAGS} -o obj/nacl_signal_64.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/linux/nacl_signal_64.c
obj/nacl_error_code.o: src/service_runtime/nacl_error_code.c
@gcc ${CCFLAGS} -o obj/nacl_error_code.o ${CCFLAGS0} ${CCFLAGS1} src/service_runtime/nacl_error_code.c
obj/gio_shm.o: src/gio/gio_shm.c
@gcc ${CCFLAGS} -o obj/gio_shm.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio_shm.c
obj/gio_shm_unbounded.o: src/gio/gio_shm_unbounded.c
@gcc ${CCFLAGS} -o obj/gio_shm_unbounded.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio_shm_unbounded.c
obj/gio_nacl_desc.o: src/gio/gio_nacl_desc.c
@gcc ${CCFLAGS} -o obj/gio_nacl_desc.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio_nacl_desc.c
obj/nacl_desc_base.o: src/desc/nacl_desc_base.c
@gcc ${CCFLAGS} -o obj/nacl_desc_base.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_base.c
obj/nacl_desc_cond.o: src/desc/nacl_desc_cond.c
@gcc ${CCFLAGS} -o obj/nacl_desc_cond.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_cond.c
obj/nacl_desc_dir.o: src/desc/nacl_desc_dir.c
@gcc ${CCFLAGS} -o obj/nacl_desc_dir.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_dir.c
obj/nacl_desc_effector_trusted_mem.o: src/desc/nacl_desc_effector_trusted_mem.c
@gcc ${CCFLAGS} -o obj/nacl_desc_effector_trusted_mem.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_effector_trusted_mem.c
obj/nacl_desc_imc.o: src/desc/nacl_desc_imc.c
@gcc ${CCFLAGS} -o obj/nacl_desc_imc.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_imc.c
obj/nacl_desc_imc_shm.o: src/desc/nacl_desc_imc_shm.c
@gcc ${CCFLAGS} -o obj/nacl_desc_imc_shm.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_imc_shm.c
obj/nacl_desc_invalid.o: src/desc/nacl_desc_invalid.c
@gcc ${CCFLAGS} -o obj/nacl_desc_invalid.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_invalid.c
obj/nacl_desc_io.o: src/desc/nacl_desc_io.c
@gcc ${CCFLAGS} -o obj/nacl_desc_io.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_io.c
obj/nacl_desc_mutex.o: src/desc/nacl_desc_mutex.c
@gcc ${CCFLAGS} -o obj/nacl_desc_mutex.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_mutex.c
obj/nacl_desc_rng.o: src/desc/nacl_desc_rng.c
@gcc ${CCFLAGS} -o obj/nacl_desc_rng.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_rng.c
obj/nacl_desc_semaphore.o: src/desc/nacl_desc_semaphore.c
@gcc ${CCFLAGS} -o obj/nacl_desc_semaphore.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_semaphore.c
obj/nacl_desc_sync_socket.o: src/desc/nacl_desc_sync_socket.c
@gcc ${CCFLAGS} -o obj/nacl_desc_sync_socket.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nacl_desc_sync_socket.c
obj/nrd_all_modules.o: src/desc/nrd_all_modules.c
@gcc ${CCFLAGS} -o obj/nrd_all_modules.o ${CCFLAGS0} ${CCFLAGS1} src/desc/nrd_all_modules.c
obj/nacl_desc.o: src/desc/linux/nacl_desc.c
@gcc ${CCFLAGS} -o obj/nacl_desc.o ${CCFLAGS0} ${CCFLAGS1} src/desc/linux/nacl_desc.c
obj/nacl_desc_sysv_shm.o:
@gcc ${CCFLAGS} -o obj/nacl_desc_sysv_shm.o ${CCFLAGS0} ${CCFLAGS1} src/desc/linux/nacl_desc_sysv_shm.c
obj/nacl_desc_conn_cap.o: src/desc/linux/nacl_desc_sysv_shm.c
@gcc ${CCFLAGS} -o obj/nacl_desc_conn_cap.o ${CCFLAGS0} ${CCFLAGS1} src/desc/posix/nacl_desc_conn_cap.c
obj/nacl_desc_imc_bound_desc.o: src/desc/posix/nacl_desc_imc_bound_desc.c
@gcc ${CCFLAGS} -o obj/nacl_desc_imc_bound_desc.o ${CCFLAGS0} ${CCFLAGS1} src/desc/posix/nacl_desc_imc_bound_desc.c
obj/nacl_perf_counter.o: src/perf_counter/nacl_perf_counter.c
@gcc ${CCFLAGS} -o obj/nacl_perf_counter.o ${CCFLAGS0} ${CCFLAGS1} src/perf_counter/nacl_perf_counter.c
obj/nacl_refcount.o: src/nacl_base/nacl_refcount.c
@gcc ${CCFLAGS} -o obj/nacl_refcount.o ${CCFLAGS0} ${CCFLAGS1} src/nacl_base/nacl_refcount.c
obj/fault_injection.o: src/fault_injection/fault_injection.c
@gcc ${CCFLAGS} -o obj/fault_injection.o ${CCFLAGS0} ${CCFLAGS1} src/fault_injection/fault_injection.c
obj/nacl_os_qualify.o: src/platform_qualify/linux/nacl_os_qualify.c
@gcc ${CCFLAGS} -o obj/nacl_os_qualify.o ${CCFLAGS0} ${CCFLAGS1} src/platform_qualify/linux/nacl_os_qualify.c
obj/sysv_shm_and_mmap.o: src/platform_qualify/linux/sysv_shm_and_mmap.c
@gcc ${CCFLAGS} -o obj/sysv_shm_and_mmap.o ${CCFLAGS0} ${CCFLAGS1} src/platform_qualify/linux/sysv_shm_and_mmap.c
obj/nacl_dep_qualify.o: src/platform_qualify/posix/nacl_dep_qualify.c
@gcc ${CCFLAGS} -o obj/nacl_dep_qualify.o ${CCFLAGS0} ${CCFLAGS1} src/platform_qualify/posix/nacl_dep_qualify.c
obj/nacl_dep_qualify_arch.o: src/platform_qualify/arch/x86_64/nacl_dep_qualify_arch.c
@gcc ${CCFLAGS} -o obj/nacl_dep_qualify_arch.o ${CCFLAGS0} ${CCFLAGS1} src/platform_qualify/arch/x86_64/nacl_dep_qualify_arch.c
obj/ncvalidate_iter.o: src/validator/x86/ncval_reg_sfi/ncvalidate_iter.c
@gcc ${CCFLAGS} -o obj/ncvalidate_iter.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/ncvalidate_iter.c
obj/ncvalidate_iter_detailed.o: src/validator/x86/ncval_reg_sfi/ncvalidate_iter_detailed.c
@gcc ${CCFLAGS} -o obj/ncvalidate_iter_detailed.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/ncvalidate_iter_detailed.c
obj/nc_cpu_checks.o: src/validator/x86/ncval_reg_sfi/nc_cpu_checks.c
@gcc ${CCFLAGS} -o obj/nc_cpu_checks.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_cpu_checks.c
obj/nc_illegal.o: src/validator/x86/ncval_reg_sfi/nc_illegal.c
@gcc ${CCFLAGS} -o obj/nc_illegal.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_illegal.c
obj/nc_jumps.o: src/validator/x86/ncval_reg_sfi/nc_jumps.c
@gcc ${CCFLAGS} -o obj/nc_jumps.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_jumps.c
obj/address_sets.o: src/validator/x86/ncval_reg_sfi/address_sets.c
@gcc ${CCFLAGS} -o obj/address_sets.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/address_sets.c
obj/nc_jumps_detailed.o: src/validator/x86/ncval_reg_sfi/nc_jumps_detailed.c
@gcc ${CCFLAGS} -o obj/nc_jumps_detailed.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_jumps_detailed.c
obj/nc_opcode_histogram.o: src/validator/x86/ncval_reg_sfi/nc_opcode_histogram.c
@gcc ${CCFLAGS} -o obj/nc_opcode_histogram.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_opcode_histogram.c
obj/nc_protect_base.o: src/validator/x86/ncval_reg_sfi/nc_protect_base.c
@gcc ${CCFLAGS} -o obj/nc_protect_base.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_protect_base.c
obj/nc_memory_protect.o: src/validator/x86/ncval_reg_sfi/nc_memory_protect.c
@gcc ${CCFLAGS} -o obj/nc_memory_protect.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/nc_memory_protect.c
obj/ncvalidate_utils.o: src/validator/x86/ncval_reg_sfi/ncvalidate_utils.c
@gcc ${CCFLAGS} -o obj/ncvalidate_utils.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/ncvalidate_utils.c
obj/ncval_decode_tables.o: src/validator/x86/ncval_reg_sfi/ncval_decode_tables.c
@gcc ${CCFLAGS} -o obj/ncval_decode_tables.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncval_reg_sfi/ncval_decode_tables.c
obj/nccopycode.o: src/validator_x86/nccopycode.c
@gcc ${CCFLAGS} -o obj/nccopycode.o ${CCFLAGS0} ${CCFLAGS1} src/validator_x86/nccopycode.c
obj/nc_inst_iter.o: src/validator/x86/decoder/nc_inst_iter.c
@gcc ${CCFLAGS} -o obj/nc_inst_iter.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/decoder/nc_inst_iter.c
obj/nc_inst_state.o: src/validator/x86/decoder/nc_inst_state.c
@gcc ${CCFLAGS} -o obj/nc_inst_state.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/decoder/nc_inst_state.c
obj/nc_inst_trans.o: src/validator/x86/decoder/nc_inst_trans.c
@gcc ${CCFLAGS} -o obj/nc_inst_trans.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/decoder/nc_inst_trans.c
obj/ncop_exps.o: src/validator/x86/decoder/ncop_exps.c
@gcc ${CCFLAGS} -o obj/ncop_exps.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/decoder/ncop_exps.c
obj/ncopcode_desc.o: src/validator/x86/decoder/ncopcode_desc.c
@gcc ${CCFLAGS} -o obj/ncopcode_desc.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/decoder/ncopcode_desc.c
obj/error_reporter.o: src/validator/x86/error_reporter.c
@gcc ${CCFLAGS} -o obj/error_reporter.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/error_reporter.c
obj/halt_trim.o: src/validator/x86/halt_trim.c
@gcc ${CCFLAGS} -o obj/halt_trim.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/halt_trim.c
obj/nacl_cpuid.o: src/validator/x86/nacl_cpuid.c
@gcc ${CCFLAGS} -o obj/nacl_cpuid.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/nacl_cpuid.c
obj/ncinstbuffer.o: src/validator/x86/ncinstbuffer.c
@gcc ${CCFLAGS} -o obj/ncinstbuffer.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/ncinstbuffer.c
obj/x86_insts.o: src/validator/x86/x86_insts.c
@gcc ${CCFLAGS} -o obj/x86_insts.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/x86_insts.c
obj/nc_segment.o: src/validator/x86/nc_segment.c
@gcc ${CCFLAGS} -o obj/nc_segment.o ${CCFLAGS0} ${CCFLAGS1} src/validator/x86/nc_segment.c
obj/nacl_exit.o: src/platform/linux/nacl_exit.c
@gcc ${CCFLAGS} -o obj/nacl_exit.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_exit.c
obj/nacl_find_addrsp.o: src/platform/linux/nacl_find_addrsp.c
@gcc ${CCFLAGS} -o obj/nacl_find_addrsp.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_find_addrsp.c
obj/nacl_host_desc.o: src/platform/linux/nacl_host_desc.c
@gcc ${CCFLAGS} -o obj/nacl_host_desc.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_host_desc.c
obj/nacl_host_dir.o: src/platform/linux/nacl_host_dir.c
@gcc ${CCFLAGS} -o obj/nacl_host_dir.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_host_dir.c
obj/nacl_secure_random.o: src/platform/linux/nacl_secure_random.c
@gcc ${CCFLAGS} -o obj/nacl_secure_random.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_secure_random.c
obj/nacl_semaphore.o: src/platform/linux/nacl_semaphore.c
@gcc ${CCFLAGS} -o obj/nacl_semaphore.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_semaphore.c
obj/nacl_time.o: src/platform/linux/nacl_time.c
@gcc ${CCFLAGS} -o obj/nacl_time.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_time.c
obj/nacl_timestamp.o: src/platform/linux/nacl_timestamp.c
@gcc ${CCFLAGS} -o obj/nacl_timestamp.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/nacl_timestamp.c
obj/condition_variable.o: src/platform/linux/condition_variable.c
@gcc ${CCFLAGS} -o obj/condition_variable.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/condition_variable.c
obj/lock.o: src/platform/linux/lock.c
@gcc ${CCFLAGS} -o obj/lock.o ${CCFLAGS0} ${CCFLAGS1} src/platform/linux/lock.c
obj/nacl_check.o: src/platform/nacl_check.c
@gcc ${CCFLAGS} -o obj/nacl_check.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_check.c
obj/nacl_global_secure_random.o: src/platform/nacl_global_secure_random.c
@gcc ${CCFLAGS} -o obj/nacl_global_secure_random.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_global_secure_random.c
obj/nacl_host_desc_common.o: src/platform/nacl_host_desc_common.c
@gcc ${CCFLAGS} -o obj/nacl_host_desc_common.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_host_desc_common.c
obj/nacl_interruptible_condvar.o: src/platform/nacl_interruptible_condvar.c
@gcc ${CCFLAGS} -o obj/nacl_interruptible_condvar.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_interruptible_condvar.c
obj/nacl_interruptible_mutex.o: src/platform/nacl_interruptible_mutex.c
@gcc ${CCFLAGS} -o obj/nacl_interruptible_mutex.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_interruptible_mutex.c
obj/nacl_log.o: src/platform/nacl_log.c
@gcc ${CCFLAGS} -o obj/nacl_log.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_log.c
obj/nacl_secure_random_common.o: src/platform/nacl_secure_random_common.c
@gcc ${CCFLAGS} -o obj/nacl_secure_random_common.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_secure_random_common.c
obj/nacl_sync_checked.o: src/platform/nacl_sync_checked.c
@gcc ${CCFLAGS} -o obj/nacl_sync_checked.o ${CCFLAGS0} ${CCFLAGS1} src/platform/nacl_sync_checked.c
obj/platform_init.o: src/platform/platform_init.c
@gcc ${CCFLAGS} -o obj/platform_init.o ${CCFLAGS0} ${CCFLAGS1} src/platform/platform_init.c
obj/gio.o: src/gio/gio.c
@gcc ${CCFLAGS} -o obj/gio.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio.c
obj/gio_mem.o: src/gio/gio_mem.c
@gcc ${CCFLAGS} -o obj/gio_mem.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio_mem.c
obj/gprintf.o: src/gio/gprintf.c
@gcc ${CCFLAGS} -o obj/gprintf.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gprintf.c
obj/gio_mem_snapshot.o: src/gio/gio_mem_snapshot.c
@gcc ${CCFLAGS} -o obj/gio_mem_snapshot.o ${CCFLAGS0} ${CCFLAGS1} src/gio/gio_mem_snapshot.c
ifdef NETWORKING
obj/sqluse_srv.o: src/networking/sqluse_srv.c
@gcc ${CCFLAGS} -c -o obj/sqluse_srv.o ${CCFLAGS0} ${CCFLAGS1} src/networking/sqluse_srv.c
obj/zmq_netw.o: src/networking/zmq_netw.c src/networking/zmq_netw.h
@gcc ${CCFLAGS} -c -o obj/zmq_netw.o ${CCFLAGS0} ${CCFLAGS1} src/networking/zmq_netw.c
obj/zvm_netw.o: src/networking/zvm_netw.c src/networking/zvm_netw.h
@gcc ${CCFLAGS} -c -o obj/zvm_netw.o ${CCFLAGS0} ${CCFLAGS1} src/networking/zvm_netw.c
obj/sqlite3.o:
@gcc -c -o obj/sqlite3.o sqlite/sqlite3.c -I./sqlite ${CCFLAGS0} ${CCFLAGS1} -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
endif
obj/nacl_imc_common.o: src/imc/nacl_imc_common.cc
@g++ ${CXXFLAGS} -o obj/nacl_imc_common.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} src/imc/nacl_imc_common.cc
obj/nacl_imc_c.o: src/imc/nacl_imc_c.cc
@g++ ${CXXFLAGS} -o obj/nacl_imc_c.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} src/imc/nacl_imc_c.cc
obj/nacl_imc_unistd.o: src/imc/nacl_imc_unistd.cc
@g++ ${CXXFLAGS} -o obj/nacl_imc_unistd.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} src/imc/nacl_imc_unistd.cc
obj/nacl_imc.o: src/imc/linux/nacl_imc.cc
@g++ ${CXXFLAGS} -o obj/nacl_imc.o ${CXXFLAGS1} ${CCFLAGS2} ${CCFLAGS4} src/imc/linux/nacl_imc.cc