OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 | 6 |
7 # | 7 # |
8 # Default macros for various platforms. | 8 # Default macros for various platforms. |
9 # | 9 # |
10 NEWLIB_DEFAULTS = """ | 10 NEWLIB_DEFAULTS = """ |
11 NEWLIB_CC?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-gcc -c | 11 NEWLIB_CC?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-gcc -c |
12 NEWLIB_CXX?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -c -std=gnu++98 | 12 NEWLIB_CXX?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -c -std=gnu++98 |
13 NEWLIB_LINK?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -Wl,-as-needed | 13 NEWLIB_LINK?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-g++ -Wl,-as-needed |
| 14 NEWLIB_LIB?=$(TC_PATH)/$(OSNAME)_x86_newlib/bin/i686-nacl-ar r |
14 NEWLIB_DUMP?=$(TC_PATH)/$(OSNAME)_x86_newlib/x86_64-nacl/bin/objdump | 15 NEWLIB_DUMP?=$(TC_PATH)/$(OSNAME)_x86_newlib/x86_64-nacl/bin/objdump |
15 NEWLIB_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) | 16 NEWLIB_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/inc
lude |
16 NEWLIB_LDFLAGS?=-g -pthread | 17 NEWLIB_LDFLAGS?=-g -pthread |
17 """ | 18 """ |
18 | 19 |
19 GLIBC_DEFAULTS = """ | 20 GLIBC_DEFAULTS = """ |
20 GLIBC_CC?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-gcc -c | 21 GLIBC_CC?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-gcc -c |
21 GLIBC_CXX?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -c -std=gnu++98 | 22 GLIBC_CXX?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -c -std=gnu++98 |
22 GLIBC_LINK?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -Wl,-as-needed | 23 GLIBC_LINK?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-g++ -Wl,-as-needed |
| 24 GLIBC_LIB?=$(TC_PATH)/$(OSNAME)_x86_glibc/bin/i686-nacl-ar r |
23 GLIBC_DUMP?=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump | 25 GLIBC_DUMP?=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump |
24 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32 | 26 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32 |
25 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib | 27 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib |
26 GLIBC_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) | 28 GLIBC_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/incl
ude |
27 GLIBC_LDFLAGS?=-g -pthread | 29 GLIBC_LDFLAGS?=-g -pthread |
28 """ | 30 """ |
29 | 31 |
30 PNACL_DEFAULTS = """ | 32 PNACL_DEFAULTS = """ |
31 PNACL_CC?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang -c | 33 PNACL_CC?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang -c |
32 PNACL_CXX?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ -c -std=gnu++
98 | 34 PNACL_CXX?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ -c -std=gnu++
98 |
33 PNACL_LINK?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ | 35 PNACL_LINK?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-clang++ |
| 36 PNACL_LIB?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-ar r |
34 PNACL_DUMP?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/objdump | 37 PNACL_DUMP?=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/objdump |
35 PNACL_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) | 38 PNACL_CCFLAGS?=-O0 -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)/incl
ude |
36 PNACL_LDFLAGS?=-g -pthread | 39 PNACL_LDFLAGS?=-g -pthread |
37 TRANSLATE:=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-translate | 40 TRANSLATE:=$(TC_PATH)/$(OSNAME)_x86_pnacl/newlib/bin/pnacl-translate |
38 """ | 41 """ |
39 | 42 |
40 WIN_DEFAULTS = """ | 43 WIN_DEFAULTS = """ |
41 WIN_CC?=cl.exe | 44 WIN_CC?=cl.exe |
42 WIN_CXX?=cl.exe | 45 WIN_CXX?=cl.exe |
43 WIN_LINK?=link.exe | 46 WIN_LINK?=link.exe |
44 WIN_LIB?=lib.exe | 47 WIN_LIB?=lib.exe |
45 WIN_CCFLAGS=/I$(NACL_SDK_ROOT)/include /I$(NACL_SDK_ROOT)/include/win -D WIN32 -
D _WIN32 | 48 WIN_CCFLAGS=/I$(NACL_SDK_ROOT)/include /I$(NACL_SDK_ROOT)/include/win -D WIN32 -
D _WIN32 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe | 94 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe |
92 """ | 95 """ |
93 | 96 |
94 SO_LINK_RULE = """ | 97 SO_LINK_RULE = """ |
95 <tc>/<proj>_<ARCH>.so : <OBJS> | 98 <tc>/<proj>_<ARCH>.so : <OBJS> |
96 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> | 99 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> |
97 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so | 100 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so |
98 <TC>_NMF+=<tc>/<proj>_<ARCH>.so | 101 <TC>_NMF+=<tc>/<proj>_<ARCH>.so |
99 """ | 102 """ |
100 | 103 |
101 WIN_LIB_RULE = """ | |
102 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS> | |
103 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST> | |
104 """ | |
105 | |
106 WIN_LINK_RULE = """ | 104 WIN_LINK_RULE = """ |
107 win/<proj>.dll : <OBJS> | 105 win/<proj>.dll : <OBJS> |
108 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $
^ <LIBLIST> $(WIN_LDFLAGS) | 106 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $
^ <LIBLIST> $(WIN_LDFLAGS) |
109 <TC>_NMF+=<tc>/<proj>.dll | 107 <TC>_NMF+=<tc>/<proj>.dll |
110 | 108 |
111 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac
l | 109 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac
l |
112 LAUNCH_HOST: CHECK_FOR_CHROME all | 110 LAUNCH_HOST: CHECK_FOR_CHROME all |
113 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" | 111 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" |
114 """ | 112 """ |
115 | 113 |
| 114 # |
| 115 # Lib rules for various platforms. |
| 116 # |
| 117 POSIX_LIB_RULE = """ |
| 118 $(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/lib<proj>.a : <OBJS> |
| 119 <TAB>$(MKDIR) $(dir $@) |
| 120 <TAB>$(<LIB>) $@ $^ |
| 121 """ |
| 122 |
| 123 WIN_LIB_RULE = """ |
| 124 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS> |
| 125 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST> |
| 126 """ |
| 127 |
| 128 |
116 | 129 |
117 NMF_RULE = """ | 130 NMF_RULE = """ |
118 <tc>/<proj>.nmf : $(<TC>_NMF) | 131 <tc>/<proj>.nmf : $(<TC>_NMF) |
119 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> | 132 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> |
120 """ | 133 """ |
121 | 134 |
122 NMF_EMPTY = """ | 135 NMF_EMPTY = """ |
123 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> | 136 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> |
124 <TAB>echo {} > $@ | 137 <TAB>echo {} > $@ |
125 """ | 138 """ |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 | 193 |
181 | 194 |
182 BUILD_RULES = { | 195 BUILD_RULES = { |
183 'newlib' : { | 196 'newlib' : { |
184 'ARCHES': [NACL_X86_32, NACL_X86_64], | 197 'ARCHES': [NACL_X86_32, NACL_X86_64], |
185 'DEFS': NEWLIB_DEFAULTS, | 198 'DEFS': NEWLIB_DEFAULTS, |
186 'CC' : NACL_CC_RULE, | 199 'CC' : NACL_CC_RULE, |
187 'CXX' : NACL_CC_RULE, | 200 'CXX' : NACL_CC_RULE, |
188 'NMF' : NMF_RULE, | 201 'NMF' : NMF_RULE, |
189 'MAIN': NEXE_LINK_RULE, | 202 'MAIN': NEXE_LINK_RULE, |
190 'LIB': None, | 203 'LIB': POSIX_LIB_RULE, |
191 'SO' : None, | 204 'SO' : None, |
192 'TOOL': NACL_TOOL, | 205 'TOOL': NACL_TOOL, |
193 }, | 206 }, |
194 'glibc' : { | 207 'glibc' : { |
195 'ARCHES': [NACL_X86_32, NACL_X86_64], | 208 'ARCHES': [NACL_X86_32, NACL_X86_64], |
196 'DEFS': GLIBC_DEFAULTS, | 209 'DEFS': GLIBC_DEFAULTS, |
197 'CC': NACL_CC_RULE, | 210 'CC': NACL_CC_RULE, |
198 'CXX': NACL_CC_RULE, | 211 'CXX': NACL_CC_RULE, |
199 'NMF' : GLIBC_NMF_RULE, | 212 'NMF' : GLIBC_NMF_RULE, |
200 'MAIN': NEXE_LINK_RULE, | 213 'MAIN': NEXE_LINK_RULE, |
201 'LIB': None, | 214 'LIB': POSIX_LIB_RULE, |
202 'SO': SO_LINK_RULE, | 215 'SO': SO_LINK_RULE, |
203 'TOOL': NACL_TOOL, | 216 'TOOL': NACL_TOOL, |
204 }, | 217 }, |
205 'pnacl' : { | 218 'pnacl' : { |
206 'ARCHES': [NACL_PNACL], | 219 'ARCHES': [NACL_PNACL], |
207 'DEFS': PNACL_DEFAULTS, | 220 'DEFS': PNACL_DEFAULTS, |
208 'CC': NACL_CC_RULE, | 221 'CC': NACL_CC_RULE, |
209 'CXX': NACL_CC_RULE, | 222 'CXX': NACL_CC_RULE, |
210 'NMF' : NMF_RULE, | 223 'NMF' : NMF_RULE, |
211 'MAIN': PEXE_LINK_RULE, | 224 'MAIN': PEXE_LINK_RULE, |
212 'LIB': None, | 225 'LIB': POSIX_LIB_RULE, |
213 'SO': None, | 226 'SO': None, |
214 'TOOL': NACL_TOOL | 227 'TOOL': NACL_TOOL |
215 }, | 228 }, |
216 'win' : { | 229 'win' : { |
217 'ARCHES': [WIN_32], | 230 'ARCHES': [WIN_32], |
218 'DEFS': WIN_DEFAULTS, | 231 'DEFS': WIN_DEFAULTS, |
219 'CC': WIN_CC_RULE, | 232 'CC': WIN_CC_RULE, |
220 'CXX': WIN_CC_RULE, | 233 'CXX': WIN_CC_RULE, |
221 'NMF' : NMF_EMPTY, | 234 'NMF' : NMF_EMPTY, |
222 'MAIN': WIN_LINK_RULE, | 235 'MAIN': WIN_LINK_RULE, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 for key in kwargs: | 285 for key in kwargs: |
273 replace['<%s>' % key] = kwargs[key] | 286 replace['<%s>' % key] = kwargs[key] |
274 | 287 |
275 if '<OBJS>' not in replace: | 288 if '<OBJS>' not in replace: |
276 if replace.get('<ARCH>', ''): | 289 if replace.get('<ARCH>', ''): |
277 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) | 290 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) |
278 else: | 291 else: |
279 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) | 292 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) |
280 return replace | 293 return replace |
281 | 294 |
OLD | NEW |