| 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 |
| 11 # | 11 # |
| 12 # Toolchain | 12 # Toolchain |
| 13 # | 13 # |
| 14 # By default the VALID_TOOLCHAINS list contains newlib and glibc. If your | 14 # By default the VALID_TOOLCHAINS list contains newlib and glibc. If your |
| 15 # project only builds in one or the other then this should be overridden | 15 # project only builds in one or the other then this should be overridden |
| 16 # accordingly. | 16 # accordingly. |
| 17 # | 17 # |
| 18 VALID_TOOLCHAINS?=newlib glibc | 18 VALID_TOOLCHAINS?=newlib glibc |
| 19 TOOLCHAIN?=$(word 1,$(VALID_TOOLCHAINS)) | 19 TOOLCHAIN?=$(word 1,$(VALID_TOOLCHAINS)) |
| 20 | 20 |
| 21 | 21 |
| 22 # | 22 # |
| 23 # Top Make file, which we want to trigger a rebuild on if it changes | 23 # Top Make file, which we want to trigger a rebuild on if it changes |
| 24 # | 24 # |
| 25 TOP_MAKE:=$(word 1,$(MAKEFILE_LIST)) | 25 TOP_MAKE:=$(word 1,$(MAKEFILE_LIST)) |
| 26 | 26 |
| 27 | 27 |
| 28 # | 28 # |
| 29 # Figure out which OS we are running on. |
| 30 # |
| 31 GETOS=python $(NACL_SDK_ROOT)/tools/getos.py |
| 32 OSNAME:=$(shell $(GETOS)) |
| 33 |
| 34 |
| 35 # |
| 29 # Verify we selected a valid toolchain for this example | 36 # Verify we selected a valid toolchain for this example |
| 30 # | 37 # |
| 31 ifeq (,$(findstring $(TOOLCHAIN),$(VALID_TOOLCHAINS))) | 38 ifeq (,$(findstring $(TOOLCHAIN),$(VALID_TOOLCHAINS))) |
| 32 $(warning Availbile choices are: $(VALID_TOOLCHAINS)) | 39 $(warning Availbile choices are: $(VALID_TOOLCHAINS)) |
| 33 $(error Can not use TOOLCHAIN=$(TOOLCHAIN) on this example.) | 40 $(error Can not use TOOLCHAIN=$(TOOLCHAIN) on this example.) |
| 34 endif | 41 endif |
| 35 | 42 |
| 36 | 43 |
| 37 # | 44 # |
| 38 # Build Configuration | 45 # Build Configuration |
| 39 # | 46 # |
| 40 # The SDK provides two sets of libraries, Debug and Release. Debug libraries | 47 # The SDK provides two sets of libraries, Debug and Release. Debug libraries |
| 41 # are compiled without optimizations to make debugging easier. By default | 48 # are compiled without optimizations to make debugging easier. By default |
| 42 # this will build a Debug configuration. | 49 # this will build a Debug configuration. |
| 43 # | 50 # |
| 44 CONFIG?=Debug | 51 CONFIG?=Debug |
| 45 | 52 |
| 46 | 53 |
| 54 # |
| 47 # Note for Windows: | 55 # Note for Windows: |
| 48 # The GCC and LLVM toolchains (include the version of Make.exe that comes | 56 # The GCC and LLVM toolchains (include the version of Make.exe that comes |
| 49 # with the SDK) expect and are capable of dealing with the '/' seperator. | 57 # with the SDK) expect and are capable of dealing with the '/' seperator. |
| 50 # For this reason, the tools in the SDK, including Makefiles and build scripts | 58 # For this reason, the tools in the SDK, including Makefiles and build scripts |
| 51 # have a preference for POSIX style command-line arguments. | 59 # have a preference for POSIX style command-line arguments. |
| 52 # | 60 # |
| 53 # Keep in mind however that the shell is responsible for command-line escaping, | 61 # Keep in mind however that the shell is responsible for command-line escaping, |
| 54 # globbing, and variable expansion, so those may change based on which shell | 62 # globbing, and variable expansion, so those may change based on which shell |
| 55 # is used. For Cygwin shells this can include automatic and incorrect expansion | 63 # is used. For Cygwin shells this can include automatic and incorrect expansion |
| 56 # of response files (files starting with '@'). | 64 # of response files (files starting with '@'). |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 CP:=@$(OSHELPERS) cp | 116 CP:=@$(OSHELPERS) cp |
| 109 MKDIR:=@$(OSHELPERS) mkdir | 117 MKDIR:=@$(OSHELPERS) mkdir |
| 110 MV:=@$(OSHELPERS) mv | 118 MV:=@$(OSHELPERS) mv |
| 111 endif | 119 endif |
| 112 | 120 |
| 113 | 121 |
| 114 | 122 |
| 115 # | 123 # |
| 116 # Compute path to requested NaCl Toolchain | 124 # Compute path to requested NaCl Toolchain |
| 117 # | 125 # |
| 118 GETOS=python $(NACL_SDK_ROOT)/tools/getos.py | |
| 119 OSNAME:=$(shell $(GETOS)) | |
| 120 TC_PATH:=$(abspath $(NACL_SDK_ROOT)/toolchain) | 126 TC_PATH:=$(abspath $(NACL_SDK_ROOT)/toolchain) |
| 121 | 127 |
| 122 | 128 |
| 123 # | 129 # |
| 124 # Check for required minimum SDK version. | 130 # Check for required minimum SDK version. |
| 125 # | 131 # |
| 126 ifdef NACL_SDK_VERSION_MIN | 132 ifdef NACL_SDK_VERSION_MIN |
| 127 VERSION_CHECK:=$(shell $(GETOS) --check-version=$(NACL_SDK_VERSION_MIN) 2>&1) | 133 VERSION_CHECK:=$(shell $(GETOS) --check-version=$(NACL_SDK_VERSION_MIN) 2>&1) |
| 128 ifneq ($(VERSION_CHECK),) | 134 ifneq ($(VERSION_CHECK),) |
| 129 $(error $(VERSION_CHECK)) | 135 $(error $(VERSION_CHECK)) |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 GDB_ARGS+=-D $(abspath $(OUTDIR))/$(TARGET)_$(SYSARCH).nexe | 398 GDB_ARGS+=-D $(abspath $(OUTDIR))/$(TARGET)_$(SYSARCH).nexe |
| 393 | 399 |
| 394 DEBUG: CHECK_FOR_CHROME all | 400 DEBUG: CHECK_FOR_CHROME all |
| 395 $(RUN_PY) $(GDB_ARGS) \ | 401 $(RUN_PY) $(GDB_ARGS) \ |
| 396 -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ | 402 -C $(CURDIR) -P $(PAGE_TC_CONFIG) \ |
| 397 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH) $(CHROME_ARGS) \ | 403 $(addprefix -E ,$(CHROME_ENV)) -- $(CHROME_PATH) $(CHROME_ARGS) \ |
| 398 --enable-nacl-debug \ | 404 --enable-nacl-debug \ |
| 399 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" | 405 --register-pepper-plugins="$(PPAPI_DEBUG),$(PPAPI_RELEASE)" |
| 400 | 406 |
| 401 .PHONY: CHECK_FOR_CHROME RUN LAUNCH | 407 .PHONY: CHECK_FOR_CHROME RUN LAUNCH |
| OLD | NEW |