OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # | 5 # |
6 # GNU Make based build file. For details on GNU Make see: | 6 # GNU Make based build file. For details on GNU Make see: |
7 # http://www.gnu.org/software/make/manual/make.html | 7 # http://www.gnu.org/software/make/manual/make.html |
8 # | 8 # |
9 | 9 |
10 # | 10 # |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 # Assign a sensible default to CHROME_PATH. | 470 # Assign a sensible default to CHROME_PATH. |
471 # | 471 # |
472 CHROME_PATH ?= $(shell $(GETOS) --chrome 2> $(DEV_NULL)) | 472 CHROME_PATH ?= $(shell $(GETOS) --chrome 2> $(DEV_NULL)) |
473 | 473 |
474 # | 474 # |
475 # Verify we can find the Chrome executable if we need to launch it. | 475 # Verify we can find the Chrome executable if we need to launch it. |
476 # | 476 # |
477 | 477 |
478 NULL := | 478 NULL := |
479 SPACE := $(NULL) # one space after NULL is required | 479 SPACE := $(NULL) # one space after NULL is required |
480 CHROME_PATH_ESCAPE := $(subst $(SPACE),\ ,$(CHROME_PATH)) | 480 ifneq ($(OSNAME),win) |
| 481 CHROME_PATH_ESCAPE := $(subst $(SPACE),\ ,$(CHROME_PATH)) |
| 482 SANDBOX_ARGS := |
| 483 else |
| 484 CHROME_PATH_ESCAPE := $(CHROME_PATH) |
| 485 SANDBOX_ARGS := --no-sandbox |
| 486 endif |
| 487 |
481 GDB_PATH := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=gdb) | 488 GDB_PATH := $(shell $(NACL_CONFIG) -t $(TOOLCHAIN) --tool=gdb) |
482 | 489 |
483 .PHONY: check_for_chrome | 490 .PHONY: check_for_chrome |
484 check_for_chrome: | 491 check_for_chrome: |
485 ifeq (,$(wildcard $(CHROME_PATH_ESCAPE))) | 492 ifeq (,$(wildcard $(CHROME_PATH_ESCAPE))) |
486 $(warning No valid Chrome found at CHROME_PATH=$(CHROME_PATH)) | 493 $(warning No valid Chrome found at CHROME_PATH=$(CHROME_PATH)) |
487 $(error Set CHROME_PATH via an environment variable, or command-line.) | 494 $(error Set CHROME_PATH via an environment variable, or command-line.) |
488 else | 495 else |
489 $(warning Using chrome at: $(CHROME_PATH)) | 496 $(warning Using chrome at: $(CHROME_PATH)) |
490 endif | 497 endif |
491 PAGE ?= index.html | 498 PAGE ?= index.html |
492 PAGE_TC_CONFIG ?= "$(PAGE)?tc=$(TOOLCHAIN)&config=$(CONFIG)" | 499 PAGE_TC_CONFIG ?= "$(PAGE)?tc=$(TOOLCHAIN)&config=$(CONFIG)" |
493 | 500 |
494 .PHONY: run | 501 .PHONY: run |
495 run: check_for_chrome all $(PAGE) | 502 run: check_for_chrome all $(PAGE) |
496 $(RUN_PY) -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ | 503 $(RUN_PY) -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ |
497 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH_ESCAPE) \ | 504 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH_ESCAPE) \ |
498 » $(CHROME_ARGS) --no-sandbox \ | 505 » $(CHROME_ARGS) \ |
499 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" | 506 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" |
500 | 507 |
501 .PHONY: run_package | 508 .PHONY: run_package |
502 run_package: check_for_chrome all | 509 run_package: check_for_chrome all |
503 @echo "$(TOOLCHAIN) $(CONFIG)" > $(CURDIR)/run_package_config | 510 @echo "$(TOOLCHAIN) $(CONFIG)" > $(CURDIR)/run_package_config |
504 $(CHROME_PATH_ESCAPE) --load-and-launch-app=$(CURDIR) $(CHROME_ARGS) | 511 $(CHROME_PATH_ESCAPE) --load-and-launch-app=$(CURDIR) $(CHROME_ARGS) |
505 | 512 |
506 GDB_ARGS += -D $(GDB_PATH) | 513 GDB_ARGS += -D $(GDB_PATH) |
507 # PNaCl's nexe is acquired with "remote get nexe <path>" instead of the NMF. | 514 # PNaCl's nexe is acquired with "remote get nexe <path>" instead of the NMF. |
508 ifeq (,$(findstring $(TOOLCHAIN),pnacl)) | 515 ifeq (,$(findstring $(TOOLCHAIN),pnacl)) |
509 GDB_ARGS += -D --eval-command="nacl-manifest $(abspath $(OUTDIR))/$(TARGET).nmf" | 516 GDB_ARGS += -D --eval-command="nacl-manifest $(abspath $(OUTDIR))/$(TARGET).nmf" |
510 GDB_ARGS += -D $(GDB_DEBUG_TARGET) | 517 GDB_ARGS += -D $(GDB_DEBUG_TARGET) |
511 endif | 518 endif |
512 | 519 |
513 .PHONY: debug | 520 .PHONY: debug |
514 debug: check_for_chrome all $(PAGE) | 521 debug: check_for_chrome all $(PAGE) |
515 $(RUN_PY) $(GDB_ARGS) \ | 522 $(RUN_PY) $(GDB_ARGS) \ |
516 -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ | 523 -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ |
517 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH_ESCAPE) \ | 524 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH_ESCAPE) \ |
518 » $(CHROME_ARGS) --enable-nacl-debug \ | 525 » $(CHROME_ARGS) $(SANDBOX_ARGS) --enable-nacl-debug \ |
519 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" | 526 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" |
520 | 527 |
521 .PHONY: serve | 528 .PHONY: serve |
522 serve: all | 529 serve: all |
523 $(HTTPD_PY) -C $(CURDIR) | 530 $(HTTPD_PY) -C $(CURDIR) |
524 endif | 531 endif |
525 | 532 |
526 # uppercase aliases (for backward compatibility) | 533 # uppercase aliases (for backward compatibility) |
527 .PHONY: CHECK_FOR_CHROME DEBUG LAUNCH RUN | 534 .PHONY: CHECK_FOR_CHROME DEBUG LAUNCH RUN |
528 CHECK_FOR_CHROME: check_for_chrome | 535 CHECK_FOR_CHROME: check_for_chrome |
529 DEBUG: debug | 536 DEBUG: debug |
530 LAUNCH: run | 537 LAUNCH: run |
531 RUN: run | 538 RUN: run |
532 | 539 |
533 endif # TOOLCHAIN is valid... | 540 endif # TOOLCHAIN is valid... |
534 | 541 |
535 endif # TOOLCHAIN=all | 542 endif # TOOLCHAIN=all |
OLD | NEW |