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 -MMD -g -pthread $(NACL_WARNINGS) | 16 NEWLIB_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT
)/include |
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 -MMD -g -pthread $(NACL_WARNINGS) | 28 GLIBC_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)
/include |
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 -MMD -g -pthread $(NACL_WARNINGS) | 38 PNACL_CCFLAGS?=-O0 -MMD -g -pthread $(NACL_WARNINGS) -idirafter $(NACL_SDK_ROOT)
/include |
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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe | 96 PNACL_NMF:=<tc>/<proj>_x86_32.nexe <tc>/<proj>_x86_64.nexe <tc>/<proj>_arm.nexe |
94 """ | 97 """ |
95 | 98 |
96 SO_LINK_RULE = """ | 99 SO_LINK_RULE = """ |
97 <tc>/<proj>_<ARCH>.so : <OBJS> | 100 <tc>/<proj>_<ARCH>.so : <OBJS> |
98 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> | 101 <TAB>$(<LINK>) -o $@ $^ <MACH> -shared $(<PROJ>_LDFLAGS) <LIBLIST> |
99 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so | 102 GLIBC_REMAP+= -n <proj>_<ARCH>.so,<proj>.so |
100 <TC>_NMF+=<tc>/<proj>_<ARCH>.so | 103 <TC>_NMF+=<tc>/<proj>_<ARCH>.so |
101 """ | 104 """ |
102 | 105 |
103 WIN_LIB_RULE = """ | |
104 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS> | |
105 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST> | |
106 """ | |
107 | |
108 WIN_LINK_RULE = """ | 106 WIN_LINK_RULE = """ |
109 win/<proj>.dll : <OBJS> | 107 win/<proj>.dll : <OBJS> |
110 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $
^ <LIBLIST> $(WIN_LDFLAGS) | 108 <TAB>$(<LINK>) /DLL /OUT:$@ $(<PROJ>_<EXT>FLAGS) /LIBPATH:$(NACL_SDK_ROOT)/lib $
^ <LIBLIST> $(WIN_LDFLAGS) |
111 <TC>_NMF+=<tc>/<proj>.dll | 109 <TC>_NMF+=<tc>/<proj>.dll |
112 | 110 |
113 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac
l | 111 HOST_ARGS:=--register-pepper-plugins=$(abspath win/<proj>.dll);application/x-nac
l |
114 LAUNCH_HOST: CHECK_FOR_CHROME all | 112 LAUNCH_HOST: CHECK_FOR_CHROME all |
115 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" | 113 <TAB>$(CHROME_PATH) $(HOST_ARGS) "localhost:5103/index_win.html" |
116 """ | 114 """ |
117 | 115 |
| 116 # |
| 117 # Lib rules for various platforms. |
| 118 # |
| 119 POSIX_LIB_RULE = """ |
| 120 $(NACL_SDK_ROOT)/lib/$(OSNAME)_<ARCH>_<tc>/lib<proj>.a : <OBJS> |
| 121 <TAB>$(MKDIR) $(dir $@) |
| 122 <TAB>$(<LIB>) $@ $^ |
| 123 """ |
| 124 |
| 125 WIN_LIB_RULE = """ |
| 126 $(NACL_SDK_ROOT)/lib/win_<ARCH>_host/<proj>.lib : <OBJS> |
| 127 <TAB>$(<LIB>) /OUT:$@ $^ $(<PROJ>_<EXT>FLAGS) <LIBLIST> |
| 128 """ |
| 129 |
| 130 |
118 | 131 |
119 NMF_RULE = """ | 132 NMF_RULE = """ |
120 <tc>/<proj>.nmf : $(<TC>_NMF) | 133 <tc>/<proj>.nmf : $(<TC>_NMF) |
121 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> | 134 <TAB>$(NMF) -D $(<DUMP>) -o $@ $^ -t <tc> -s <tc> |
122 """ | 135 """ |
123 | 136 |
124 NMF_EMPTY = """ | 137 NMF_EMPTY = """ |
125 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> | 138 <tc>/<proj>.nmf : $(<TC>_NMF) | <tc> |
126 <TAB>echo {} > $@ | 139 <TAB>echo {} > $@ |
127 """ | 140 """ |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 | 195 |
183 | 196 |
184 BUILD_RULES = { | 197 BUILD_RULES = { |
185 'newlib' : { | 198 'newlib' : { |
186 'ARCHES': [NACL_X86_32, NACL_X86_64], | 199 'ARCHES': [NACL_X86_32, NACL_X86_64], |
187 'DEFS': NEWLIB_DEFAULTS, | 200 'DEFS': NEWLIB_DEFAULTS, |
188 'CC' : NACL_CC_RULE, | 201 'CC' : NACL_CC_RULE, |
189 'CXX' : NACL_CC_RULE, | 202 'CXX' : NACL_CC_RULE, |
190 'NMF' : NMF_RULE, | 203 'NMF' : NMF_RULE, |
191 'MAIN': NEXE_LINK_RULE, | 204 'MAIN': NEXE_LINK_RULE, |
192 'LIB': None, | 205 'LIB': POSIX_LIB_RULE, |
193 'SO' : None, | 206 'SO' : None, |
194 'TOOL': NACL_TOOL, | 207 'TOOL': NACL_TOOL, |
195 }, | 208 }, |
196 'glibc' : { | 209 'glibc' : { |
197 'ARCHES': [NACL_X86_32, NACL_X86_64], | 210 'ARCHES': [NACL_X86_32, NACL_X86_64], |
198 'DEFS': GLIBC_DEFAULTS, | 211 'DEFS': GLIBC_DEFAULTS, |
199 'CC': NACL_CC_RULE, | 212 'CC': NACL_CC_RULE, |
200 'CXX': NACL_CC_RULE, | 213 'CXX': NACL_CC_RULE, |
201 'NMF' : GLIBC_NMF_RULE, | 214 'NMF' : GLIBC_NMF_RULE, |
202 'MAIN': NEXE_LINK_RULE, | 215 'MAIN': NEXE_LINK_RULE, |
203 'LIB': None, | 216 'LIB': POSIX_LIB_RULE, |
204 'SO': SO_LINK_RULE, | 217 'SO': SO_LINK_RULE, |
205 'TOOL': NACL_TOOL, | 218 'TOOL': NACL_TOOL, |
206 }, | 219 }, |
207 'pnacl' : { | 220 'pnacl' : { |
208 'ARCHES': [NACL_PNACL], | 221 'ARCHES': [NACL_PNACL], |
209 'DEFS': PNACL_DEFAULTS, | 222 'DEFS': PNACL_DEFAULTS, |
210 'CC': NACL_CC_RULE, | 223 'CC': NACL_CC_RULE, |
211 'CXX': NACL_CC_RULE, | 224 'CXX': NACL_CC_RULE, |
212 'NMF' : NMF_RULE, | 225 'NMF' : NMF_RULE, |
213 'MAIN': PEXE_LINK_RULE, | 226 'MAIN': PEXE_LINK_RULE, |
214 'LIB': None, | 227 'LIB': POSIX_LIB_RULE, |
215 'SO': None, | 228 'SO': None, |
216 'TOOL': NACL_TOOL | 229 'TOOL': NACL_TOOL |
217 }, | 230 }, |
218 'win' : { | 231 'win' : { |
219 'ARCHES': [WIN_32], | 232 'ARCHES': [WIN_32], |
220 'DEFS': WIN_DEFAULTS, | 233 'DEFS': WIN_DEFAULTS, |
221 'CC': WIN_CC_RULE, | 234 'CC': WIN_CC_RULE, |
222 'CXX': WIN_CC_RULE, | 235 'CXX': WIN_CC_RULE, |
223 'NMF' : NMF_EMPTY, | 236 'NMF' : NMF_EMPTY, |
224 'MAIN': WIN_LINK_RULE, | 237 'MAIN': WIN_LINK_RULE, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 for key in kwargs: | 287 for key in kwargs: |
275 replace['<%s>' % key] = kwargs[key] | 288 replace['<%s>' % key] = kwargs[key] |
276 | 289 |
277 if '<OBJS>' not in replace: | 290 if '<OBJS>' not in replace: |
278 if replace.get('<ARCH>', ''): | 291 if replace.get('<ARCH>', ''): |
279 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) | 292 replace['<OBJS>'] = '%s_%s_%s_%s_O' % (TC, PROJ, replace['<ARCH>'], EXT) |
280 else: | 293 else: |
281 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) | 294 replace['<OBJS>'] = '%s_%s_%s_O' % (TC, PROJ, EXT) |
282 return replace | 295 return replace |
283 | 296 |
OLD | NEW |