Sync trunk head (r41026)
[reactos.git] / reactos / ReactOS-amd64.rbuild
1 <?xml version="1.0"?>
2 <!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
3 <project name="ReactOS" makefile="makefile-amd64.auto" xmlns:xi="http://www.w3.org/2001/XInclude">
4 <xi:include href="config-amd64.rbuild">
5 <xi:fallback>
6 <xi:include href="config-amd64.template.rbuild" />
7 </xi:fallback>
8 </xi:include>
9
10 <define name="_M_AMD64" />
11 <define name="_AMD64_" />
12 <define name="_M_AXP64" />
13 <define name="__x86_64__" />
14 <!-- define name="_X86AMD64_" / FIXME: what is this used for? -->
15 <define name="_WIN64" />
16 <define name="TARGET_amd64" host="true" />
17
18 <define name="USE_COMPILER_EXCEPTIONS" />
19
20 <property name="PLATFORM" value="PC"/>
21 <property name="usewrc" value="false"/>
22 <property name="WINEBUILD_FLAGS" value="--kill-at"/>
23 <property name="NTOSKRNL_SHARED" value="-shared"/>
24
25 <if property="OPTIMIZE" value="1">
26 <compilerflag>-Os</compilerflag>
27 <compilerflag>-ftracer</compilerflag>
28 <compilerflag>-momit-leaf-frame-pointer</compilerflag>
29 </if>
30 <if property="OPTIMIZE" value="2">
31 <compilerflag>-Os</compilerflag>
32 </if>
33 <if property="OPTIMIZE" value="3">
34 <compilerflag>-O1</compilerflag>
35 </if>
36 <if property="OPTIMIZE" value="4">
37 <compilerflag>-O2</compilerflag>
38 </if>
39 <if property="OPTIMIZE" value="5">
40 <compilerflag>-O3</compilerflag>
41 </if>
42
43 <compilerflag>-U_X86_</compilerflag>
44 <compilerflag>-mpreferred-stack-boundary=4</compilerflag>
45 <compilerflag>-fno-strict-aliasing</compilerflag>
46 <compilerflag>-Wno-strict-aliasing</compilerflag>
47 <compilerflag>-Wpointer-arith</compilerflag>
48 <compilerflag>-Wno-multichar</compilerflag>
49 <!-- compilerflag>-H</compilerflag> enable this for header traces -->
50 <linkerflag>-disable-stdcall-fixup</linkerflag>
51 <linkerflag>-static</linkerflag>
52 <linkerflag>--unique=.eh_frame</linkerflag>
53
54 <!-- Here starts <xi:include href="ReactOS-generic.rbuild" /> -->
55
56 <xi:include href="baseaddress.rbuild" />
57
58 <define name="__REACTOS__" />
59 <if property="DBG" value="1">
60 <define name="DBG">1</define>
61 <define name="_SEH_ENABLE_TRACE" />
62 <property name="DBG_OR_KDBG" value="true" />
63 </if>
64 <if property="KDBG" value="1">
65 <define name="KDBG">1</define>
66 <property name="DBG_OR_KDBG" value="true" />
67 </if>
68
69 <!-- The version target valid values are: Nt4 , NT5 , NT51 -->
70 <property name="VERSION_TARGET" value="NT52" />
71
72 <if property="VERSION_TARGET" value="NT4">
73 <define name="WINVER" overridable="true">0x400</define>
74 <define name="_WIN32_IE">0x600</define>
75 <define name="_WIN32_WINNT" overridable="true">0x400</define>
76 <define name="_WIN32_WINDOWS">0x400</define>
77 <define name="_SETUPAPI_VER">0x400</define>
78 </if>
79
80 <if property="VERSION_TARGET" value="NT5">
81 <define name="WINVER" overridable="true">0x500</define>
82 <define name="_WIN32_IE">0x600</define>
83 <define name="_WIN32_WINNT" overridable="true">0x500</define>
84 <define name="_WIN32_WINDOWS">0x500</define>
85 <define name="_SETUPAPI_VER">0x500</define>
86 </if>
87
88 <if property="VERSION_TARGET" value="NT51">
89 <define name="WINVER" overridable="true">0x501</define>
90 <define name="_WIN32_IE">0x600</define>
91 <define name="_WIN32_WINNT" overridable="true">0x501</define>
92 <define name="_WIN32_WINDOWS">0x501</define>
93 <define name="_SETUPAPI_VER">0x501</define>
94 </if>
95
96 <if property="VERSION_TARGET" value="NT52">
97 <define name="WINVER" overridable="true">0x502</define>
98 <define name="_WIN32_IE">0x600</define>
99 <define name="_WIN32_WINNT" overridable="true">0x502</define>
100 <define name="_WIN32_WINDOWS">0x502</define>
101 <define name="_SETUPAPI_VER">0x502</define>
102 </if>
103
104 <if property="VERSION_TARGET" value="NT6">
105 <define name="WINVER" overridable="true">0x600</define>
106 <define name="_WIN32_IE">0x600</define>
107 <define name="_WIN32_WINNT" overridable="true">0x600</define>
108 <define name="_WIN32_WINDOWS">0x600</define>
109 <define name="_SETUPAPI_VER">0x600</define>
110 </if>
111
112 <include>.</include>
113 <include>include</include>
114 <include root="intermediate">include</include>
115 <include>include/psdk</include>
116 <include root="intermediate">include/psdk</include>
117 <include>include/dxsdk</include>
118 <include root="intermediate">include/dxsdk</include>
119 <include>include/crt</include>
120 <include>include/crt/mingw32</include>
121 <include>include/ddk</include>
122 <include>include/GL</include>
123 <include>include/ndk</include>
124 <include>include/reactos</include>
125 <include root="intermediate">include/reactos</include>
126 <include root="intermediate">include/reactos/mc</include>
127 <include>include/reactos/libs</include>
128
129 <include host="true">include</include>
130 <include host="true" root="intermediate">include</include>
131 <include host="true">include/reactos</include>
132 <include host="true">include/reactos/wine</include>
133
134 <if property="USERMODE" value="1">
135 <directory name="base">
136 <xi:include href="base/base.rbuild" />
137 </directory>
138
139 <directory name="dll">
140 <xi:include href="dll/dll.rbuild" />
141 </directory>
142 </if>
143
144 <directory name="boot">
145 <xi:include href="boot/boot.rbuild" />
146 </directory>
147
148 <directory name="drivers">
149 <directory name="base">
150 <xi:include href="drivers/base/directory.rbuild" />
151 </directory>
152 <directory name="bus">
153 <xi:include href="drivers/bus/directory.rbuild" />
154 </directory>
155 <directory name="directx">
156 <xi:include href="drivers/directx/directory.rbuild" />
157 </directory>
158 <directory name="filesystems">
159 <xi:include href="drivers/filesystems/directory.rbuild" />
160 </directory>
161 <directory name="input">
162 <xi:include href="drivers/input/directory.rbuild" />
163 </directory>
164 <directory name="ksfilter">
165 <xi:include href="drivers/ksfilter/directory.rbuild" />
166 </directory>
167
168 <!-- directory name="multimedia">
169 <xi:include href="drivers/multimedia/directory.rbuild" />
170 </directory -->
171
172 <directory name="network">
173 <xi:include href="drivers/network/directory.rbuild" />
174 </directory>
175 <directory name="parallel">
176 <xi:include href="drivers/parallel/directory.rbuild" />
177 </directory>
178 <directory name="serial">
179 <xi:include href="drivers/serial/directory.rbuild" />
180 </directory>
181 <directory name="setup">
182 <xi:include href="drivers/setup/directory.rbuild" />
183 </directory>
184 <directory name="storage">
185 <xi:include href="drivers/storage/directory.rbuild" />
186 </directory>
187 <directory name="usb">
188 <xi:include href="drivers/usb/directory.rbuild" />
189 </directory>
190 <directory name="video">
191 <xi:include href="drivers/video/directory.rbuild" />
192 </directory>
193 <directory name="wdm">
194 <xi:include href="drivers/wdm/wdm.rbuild" />
195 </directory>
196 <directory name="wmi">
197 <xi:include href="drivers/wmi/wmilib.rbuild" />
198 </directory>
199 </directory>
200
201 <directory name="hal">
202 <xi:include href="hal/hal.rbuild" />
203 </directory>
204
205 <directory name="include">
206 <xi:include href="include/directory.rbuild" />
207 </directory>
208
209 <directory name="lib">
210 <directory name="3rdparty">
211 <directory name="adns">
212 <xi:include href="lib/3rdparty/adns/adns.rbuild" />
213 </directory>
214 <directory name="bzip2">
215 <xi:include href="lib/3rdparty/bzip2/bzip2.rbuild" />
216 </directory>
217 <directory name="expat">
218 <xi:include href="lib/3rdparty/expat/expat.rbuild" />
219 </directory>
220 <directory name="freetype">
221 <xi:include href="lib/3rdparty/freetype/freetype.rbuild" />
222 </directory>
223 <directory name="icu4ros">
224 <xi:include href="lib/3rdparty/icu4ros/icu4ros.rbuild" />
225 </directory>
226 <directory name="libsamplerate">
227 <xi:include href="lib/3rdparty/libsamplerate/libsamplerate.rbuild" />
228 </directory>
229 <directory name="libwine">
230 <xi:include href="lib/3rdparty/libwine/libwine.rbuild" />
231 </directory>
232 <directory name="libxml2">
233 <xi:include href="lib/3rdparty/libxml2/libxml2.rbuild" />
234 </directory>
235
236 <if property="USERMODE" value="1">
237 <directory name="mingw">
238 <xi:include href="lib/3rdparty/mingw/mingw.rbuild" />
239 </directory>
240 </if>
241 <directory name="zlib">
242 <xi:include href="lib/3rdparty/zlib/zlib.rbuild" />
243 </directory>
244 </directory>
245 <directory name="sdk">
246 <xi:include href="lib/sdk/sdk.rbuild" />
247 </directory>
248 <directory name="cmlib">
249 <xi:include href="lib/cmlib/cmlib.rbuild" />
250 </directory>
251 <directory name="debugsup">
252 <xi:include href="lib/debugsup/debugsup.rbuild" />
253 </directory>
254 <directory name="drivers">
255 <xi:include href="lib/drivers/directory.rbuild" />
256 </directory>
257 <directory name="epsapi">
258 <xi:include href="lib/epsapi/epsapi.rbuild" />
259 </directory>
260 <directory name="fslib">
261 <xi:include href="lib/fslib/directory.rbuild" />
262 </directory>
263 <directory name="host">
264 <xi:include href="lib/host/directory.rbuild" />
265 </directory>
266 <directory name="inflib">
267 <xi:include href="lib/inflib/inflib.rbuild" />
268 </directory>
269 <directory name="nls">
270 <xi:include href="lib/nls/nls.rbuild" />
271 </directory>
272 <directory name="ntdllsys">
273 <xi:include href="lib/ntdllsys/ntdllsys.rbuild" />
274 </directory>
275 <directory name="pseh">
276 <xi:include href="lib/pseh/pseh.rbuild" />
277 </directory>
278 <directory name="recyclebin">
279 <xi:include href="lib/recyclebin/recyclebin.rbuild" />
280 </directory>
281 <directory name="rossym">
282 <xi:include href="lib/rossym/rossym.rbuild" />
283 </directory>
284 <directory name="rtl">
285 <xi:include href="lib/rtl/rtl.rbuild" />
286 </directory>
287 <directory name="smlib">
288 <xi:include href="lib/smlib/smlib.rbuild" />
289 </directory>
290 <directory name="win32ksys">
291 <xi:include href="lib/win32ksys/win32ksys.rbuild" />
292 </directory>
293 </directory>
294
295 <directory name="media">
296 <xi:include href="media/media.rbuild" />
297 </directory>
298
299 <directory name="ntoskrnl">
300 <xi:include href="ntoskrnl/ntoskrnl.rbuild" />
301 </directory>
302
303 <directory name="subsystems">
304 <xi:include href="subsystems/subsystems.rbuild" />
305 </directory>
306
307 <directory name="tools">
308 <xi:include href="tools/tools.rbuild" />
309 </directory>
310
311 <!-- Here ends <xi:include href="ReactOS-generic.rbuild" /> -->
312
313 </project>