OLD | NEW |
1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2012 The Native Client 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 # Makefile | 5 # Makefile |
6 # | 6 # |
7 # usage: 'make [package]' | 7 # usage: 'make [package]' |
8 # | 8 # |
9 # This makefile builds all of the Native Client packages listed below | 9 # This makefile builds all of the Native Client packages listed below |
10 # in $(PACKAGES). Each package has a dependency on its own sentinel | 10 # in $(PACKAGES). Each package has a dependency on its own sentinel |
(...skipping 12 matching lines...) Expand all Loading... |
23 OS_SUBDIR := linux | 23 OS_SUBDIR := linux |
24 endif | 24 endif |
25 ifneq (, $(filter CYGWIN%,$(OS_NAME))) | 25 ifneq (, $(filter CYGWIN%,$(OS_NAME))) |
26 OS_SUBDIR := win | 26 OS_SUBDIR := win |
27 endif | 27 endif |
28 | 28 |
29 ifeq ($(OS_SUBDIR), UNKNOWN) | 29 ifeq ($(OS_SUBDIR), UNKNOWN) |
30 $(error No support for the Operating System: $(OS_NAME)) | 30 $(error No support for the Operating System: $(OS_NAME)) |
31 endif | 31 endif |
32 | 32 |
| 33 ifndef NACL_ARCH |
| 34 NACL_ARCH := i686 |
| 35 endif |
| 36 |
33 ifndef NACL_SDK_ROOT | 37 ifndef NACL_SDK_ROOT |
34 $(error NACL_SDK_ROOT not set, see README.txt) | 38 $(error NACL_SDK_ROOT not set, see README.txt) |
35 endif | 39 endif |
36 | 40 |
| 41 ifeq ($(NACL_ARCH), "ARM") |
| 42 NACL_TOOLCHAIN_ROOT = $(NACL_SDK_ROOT)/toolchain/$(OS_SUBDIR)_arm_newlib |
| 43 else |
37 ifeq ($(NACL_GLIBC), 1) | 44 ifeq ($(NACL_GLIBC), 1) |
38 NACL_TOOLCHAIN_ROOT = $(NACL_SDK_ROOT)/toolchain/$(OS_SUBDIR)_x86_glibc | 45 NACL_TOOLCHAIN_ROOT = $(NACL_SDK_ROOT)/toolchain/$(OS_SUBDIR)_x86_glibc |
39 NACL_LIBC = glibc | 46 NACL_LIBC = glibc |
40 else | 47 else |
41 NACL_TOOLCHAIN_ROOT = $(NACL_SDK_ROOT)/toolchain/$(OS_SUBDIR)_x86_newlib | 48 NACL_TOOLCHAIN_ROOT = $(NACL_SDK_ROOT)/toolchain/$(OS_SUBDIR)_x86_newlib |
42 NACL_LIBC = newlib | 49 NACL_LIBC = newlib |
43 endif | 50 endif |
| 51 endif |
44 | 52 |
45 NACL_OUT = out | 53 NACL_OUT = out |
46 NACL_DIRS_BASE = $(NACL_OUT)/tarballs \ | 54 NACL_DIRS_BASE = $(NACL_OUT)/tarballs \ |
47 $(NACL_OUT)/repository-i686 \ | 55 $(NACL_OUT)/repository-$(NACL_ARCH) \ |
48 $(NACL_OUT)/repository-x86_64 \ | |
49 $(NACL_OUT)/publish | 56 $(NACL_OUT)/publish |
50 | 57 |
51 NACL_SDK_USR32 = $(NACL_TOOLCHAIN_ROOT)/i686-nacl/usr | 58 NACL_SDK_USR = $(NACL_TOOLCHAIN_ROOT)/$(NACL_ARCH)-nacl/usr |
52 NACL_SDK_USR64 = $(NACL_TOOLCHAIN_ROOT)/x86_64-nacl/usr | |
53 | 59 |
54 NACL_DIRS_TO_REMOVE = $(NACL_OUT) \ | 60 NACL_DIRS_TO_REMOVE = $(NACL_OUT) \ |
55 » » $(NACL_SDK_USR32) \ | 61 » » $(NACL_SDK_USR) \ |
56 » » $(NACL_SDK_USR64) | |
57 | 62 |
58 NACL_DIRS_TO_MAKE = $(NACL_DIRS_BASE) \ | 63 NACL_DIRS_TO_MAKE = $(NACL_DIRS_BASE) \ |
59 » » $(NACL_SDK_USR32)/include \ | 64 » » $(NACL_SDK_USR)/include \ |
60 » » $(NACL_SDK_USR64)/include \ | 65 » » $(NACL_SDK_USR)/lib |
61 » » $(NACL_SDK_USR32)/lib \ | |
62 » » $(NACL_SDK_USR64)/lib | |
63 | 66 |
64 LIBRARIES = \ | 67 LIBRARIES = \ |
65 libraries/nacl-mounts \ | 68 libraries/nacl-mounts \ |
66 libraries/SDL-1.2.14 \ | 69 libraries/SDL-1.2.14 \ |
67 libraries/SDL_mixer-1.2.11 \ | 70 libraries/SDL_mixer-1.2.11 \ |
68 libraries/SDL_image-1.2.10 \ | 71 libraries/SDL_image-1.2.10 \ |
69 libraries/SDL_ttf-2.0.10 \ | 72 libraries/SDL_ttf-2.0.10 \ |
70 libraries/gc6.8 \ | 73 libraries/gc6.8 \ |
71 libraries/fftw-3.2.2 \ | 74 libraries/fftw-3.2.2 \ |
72 libraries/libtommath-0.41 \ | 75 libraries/libtommath-0.41 \ |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 endif | 138 endif |
136 | 139 |
137 ifeq ($(OS_NAME), Linux) | 140 ifeq ($(OS_NAME), Linux) |
138 LIBRARIES += libraries/openssl-1.0.0e | 141 LIBRARIES += libraries/openssl-1.0.0e |
139 endif | 142 endif |
140 | 143 |
141 PACKAGES = $(LIBRARIES) $(EXAMPLES) | 144 PACKAGES = $(LIBRARIES) $(EXAMPLES) |
142 | 145 |
143 | 146 |
144 SENTINELS_DIR = $(NACL_OUT)/sentinels | 147 SENTINELS_DIR = $(NACL_OUT)/sentinels |
145 SENT = $(SENTINELS_DIR)/bits$(NACL_PACKAGES_BITSIZE)_$(NACL_LIBC) | 148 SENT = $(SENTINELS_DIR)/$(NACL_ARCH)_$(NACL_LIBC) |
146 | 149 |
147 default: libraries | 150 default: libraries |
148 libraries: $(LIBRARIES) | 151 libraries: $(LIBRARIES) |
149 examples: $(EXAMPLES) | 152 examples: $(EXAMPLES) |
150 all: $(PACKAGES) | 153 all: $(PACKAGES) |
151 | 154 |
152 .PHONY: all default libraries examples clean | 155 .PHONY: all default libraries examples clean |
153 | 156 |
154 | 157 |
155 clean: | 158 clean: |
156 rm -rf $(NACL_DIRS_TO_REMOVE) | 159 rm -rf $(NACL_DIRS_TO_REMOVE) |
157 | 160 |
158 $(NACL_DIRS_TO_MAKE): | 161 $(NACL_DIRS_TO_MAKE): |
159 mkdir -p $@ | 162 mkdir -p $@ |
160 | 163 |
161 $(PACKAGES): %: $(NACL_DIRS_TO_MAKE) $(SENT)/% | 164 $(PACKAGES): %: $(NACL_DIRS_TO_MAKE) $(SENT)/% |
162 | 165 |
163 $(PACKAGES:%=$(SENT)/%): $(SENT)/%: | 166 $(PACKAGES:%=$(SENT)/%): $(SENT)/%: |
164 » @echo "@@@BUILD_STEP $(NACL_PACKAGES_BITSIZE)-bit $(notdir $*)@@@" | 167 » @echo "@@@BUILD_STEP $(NACL_ARCH) $(notdir $*)@@@" |
165 cd $* && ./nacl-$(notdir $*).sh | 168 cd $* && ./nacl-$(notdir $*).sh |
166 mkdir -p $(@D) | 169 mkdir -p $(@D) |
167 touch $@ | 170 touch $@ |
168 | 171 |
169 # packages with dependencies | 172 # packages with dependencies |
170 $(SENT)/libraries/libvorbis-1.2.3: libraries/libogg-1.1.4 | 173 $(SENT)/libraries/libvorbis-1.2.3: libraries/libogg-1.1.4 |
171 $(SENT)/libraries/libtheora-1.1.1: libraries/libogg-1.1.4 | 174 $(SENT)/libraries/libtheora-1.1.1: libraries/libogg-1.1.4 |
172 $(SENT)/libraries/flac-1.2.1: libraries/libogg-1.1.4 | 175 $(SENT)/libraries/flac-1.2.1: libraries/libogg-1.1.4 |
173 $(SENT)/libraries/speex-1.2rc1: libraries/libogg-1.1.4 | 176 $(SENT)/libraries/speex-1.2rc1: libraries/libogg-1.1.4 |
174 $(SENT)/libraries/fontconfig-2.7.3: libraries/expat-2.0.1 \ | 177 $(SENT)/libraries/fontconfig-2.7.3: libraries/expat-2.0.1 \ |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 # PNACL | 285 # PNACL |
283 ###################################################################### | 286 ###################################################################### |
284 # Libraries and Examples should work for PNaCl, but if new examples | 287 # Libraries and Examples should work for PNaCl, but if new examples |
285 # do not work, you can filter them here. | 288 # do not work, you can filter them here. |
286 WORKS_FOR_PNACL=$(LIBRARIES) $(EXAMPLES) | 289 WORKS_FOR_PNACL=$(LIBRARIES) $(EXAMPLES) |
287 | 290 |
288 works_for_pnacl: $(WORKS_FOR_PNACL) | 291 works_for_pnacl: $(WORKS_FOR_PNACL) |
289 | 292 |
290 works_for_pnacl_list: | 293 works_for_pnacl_list: |
291 @echo $(WORKS_FOR_PNACL) | 294 @echo $(WORKS_FOR_PNACL) |
OLD | NEW |