2 <!DOCTYPE module SYSTEM "../tools/rbuild/project.dtd">
3 <group xmlns:xi="http://www.w3.org/2001/XInclude">
4 <bootstrap installbase="$(CDOUTPUT)" />
5 <importlibrary definition="ntoskrnl.pspec" />
6 <define name="__NTOSKRNL__" />
7 <define name="_NTOSKRNL_" />
8 <define name="_NTSYSTEM_" />
9 <define name="_IN_KERNEL_" />
10 <if property="_WINKD_" value="1">
11 <define name="_WINKD_" />
13 <if property="_ELF_" value="1">
14 <define name="_ELF_" />
16 <include base="cmlib">.</include>
17 <include base="ntoskrnl">include</include>
18 <include base="ntoskrnl" root="intermediate"></include>
19 <include base="ntoskrnl" root="intermediate">include</include>
20 <include base="ntoskrnl" root="intermediate">include/internal</include>
21 <include base="ReactOS">include/reactos/drivers</include>
22 <library>csq</library>
23 <library>hal</library>
24 <library>pseh</library>
25 <library>cmlib</library>
26 <library>rtl</library>
27 <library>rossym</library>
28 <library>libcntpr</library>
29 <library>kdcom</library>
30 <library>bootvid</library>
31 <library>wdmguid</library>
32 <dependency>bugcodes</dependency>
33 <!-- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38269
34 <directory name="include">
39 <if property="ARCH" value="i386">
40 <directory name="i386">
41 <file first="true">boot.S</file>
44 <file>ctxswitch.S</file>
51 <file>systimer.S</file>
52 <file>thrdini.c</file>
54 <file>usercall_asm.S</file>
55 <file>usercall.c</file>
57 <file>v86m_sup.S</file>
60 <if property="ARCH" value="arm">
61 <directory name="arm">
62 <file first="true">boot.s</file>
64 <file>ctxswtch.s</file>
67 <file>stubs_asm.s</file>
68 <file>thrdini.c</file>
72 <file>usercall.c</file>
75 <if property="ARCH" value="powerpc">
76 <directory name="powerpc">
77 <file first="true">main_asm.S</file>
81 <file>ppc_irq.c</file>
83 <file>systimer.c</file>
84 <file>thrdini.c</file>
85 <file>ctxswitch.c</file>
86 <file>ctxhelp.S</file>
89 <if property="ARCH" value="amd64">
90 <directory name="amd64">
91 <file first="true">boot.S</file>
92 <file>context.c</file>
94 <file>ctxswitch.S</file>
96 <file>interrupt.c</file>
99 <file>spinlock.c</file>
101 <file>thrdini.c</file>
106 <file>balmgr.c</file>
109 <file>config.c</file>
110 <file>devqueue.c</file>
112 <file>eventobj.c</file>
113 <file>except.c</file>
114 <if property="ARCH" value="i386">
115 <file>freeldr.c</file>
117 <file>freeze.c</file>
119 <file>gmutex.c</file>
121 <file>krnlinit.c</file>
123 <file>procobj.c</file>
124 <file>profobj.c</file>
126 <file>semphobj.c</file>
127 <file>spinlock.c</file>
128 <file>thrdschd.c</file>
129 <file>thrdobj.c</file>
130 <file>timerobj.c</file>
133 <directory name="cc">
134 <file>cacheman.c</file>
141 <directory name="config">
142 <if property="ARCH" value="i386">
143 <directory name="i386">
144 <file>cmhardwr.c</file>
147 <if property="ARCH" value="amd64">
148 <directory name="i386">
149 <file>cmhardwr.c</file>
152 <if property="ARCH" value="arm">
153 <directory name="arm">
154 <file>cmhardwr.c</file>
157 <if property="ARCH" value="powerpc">
158 <directory name="powerpc">
159 <file>cmhardwr.c</file>
162 <file>cmalloc.c</file>
164 <file>cmboot.c</file>
165 <file>cmcheck.c</file>
166 <file>cmcontrl.c</file>
167 <file>cmconfig.c</file>
168 <file>cmdata.c</file>
169 <file>cmdelay.c</file>
170 <file>cmindex.c</file>
171 <file>cminit.c</file>
172 <file>cmhook.c</file>
173 <file>cmkcbncb.c</file>
174 <file>cmkeydel.c</file>
175 <file>cmlazy.c</file>
176 <file>cmmapvw.c</file>
177 <file>cmname.c</file>
178 <file>cmparse.c</file>
180 <file>cmsecach.c</file>
181 <file>cmsysini.c</file>
182 <file>cmvalue.c</file>
183 <file>cmvalche.c</file>
184 <file>cmwraprs.c</file>
187 <directory name="dbgk">
188 <file>dbgkutil.c</file>
189 <file>dbgkobj.c</file>
191 <directory name="ex" root="intermediate">
194 <directory name="ex">
195 <if property="ARCH" value="i386">
196 <directory name="i386">
197 <file>interlck_asm.S</file>
198 <file>fastinterlck_asm.S</file>
199 <file>ioport.S</file>
202 <if property="ARCH" value="amd64">
203 <directory name="amd64">
204 <file>fastinterlck.c</file>
208 <file>callback.c</file>
209 <file>dbgctrl.c</file>
212 <file>evtpair.c</file>
213 <file>exintrin.c</file>
214 <file>fastinterlck.c</file>
215 <file>fmutex.c</file>
216 <file>handle.c</file>
217 <file>harderr.c</file>
218 <file>hdlsterm.c</file>
220 <file>keyedevt.c</file>
221 <file>locale.c</file>
222 <file>lookas.c</file>
223 <file>mutant.c</file>
224 <file>pushlock.c</file>
225 <file>profile.c</file>
226 <file>resource.c</file>
227 <file>rundown.c</file>
229 <file>shutdown.c</file>
230 <file>sysinfo.c</file>
234 <file>win32k.c</file>
236 <file>xipdisp.c</file>
239 <directory name="fsrtl">
240 <file>dbcsname.c</file>
241 <file>fastio.c</file>
242 <file>faulttol.c</file>
243 <file>filelock.c</file>
244 <file>filter.c</file>
245 <file>filtrctx.c</file>
246 <file>fsfilter.c</file>
247 <file>fsrtlpc.c</file>
248 <file>largemcb.c</file>
250 <file>notify.c</file>
251 <file>oplock.c</file>
253 <file>stackovf.c</file>
254 <file>tunnel.c</file>
257 <directory name="fstub">
258 <file>disksup.c</file>
259 <file>fstubex.c</file>
260 <file>halstub.c</file>
262 <directory name="inbv">
265 <directory name="io">
266 <directory name="iomgr">
267 <file>adapter.c</file>
268 <file>arcname.c</file>
269 <file>bootlog.c</file>
270 <file>controller.c</file>
271 <file>device.c</file>
272 <file>deviface.c</file>
273 <file>driver.c</file>
274 <file>drvrlist.c</file>
277 <file>iocomp.c</file>
278 <file>ioevent.c</file>
279 <file>iofunc.c</file>
282 <file>iorsrce.c</file>
283 <file>iotimer.c</file>
284 <file>iowork.c</file>
287 <file>ramdisk.c</file>
289 <file>remlock.c</file>
291 <file>symlink.c</file>
292 <file>volume.c</file>
294 <directory name="pnpmgr">
295 <file>plugplay.c</file>
296 <file>pnpdma.c</file>
297 <file>pnpmgr.c</file>
298 <file>pnpnotify.c</file>
299 <file>pnpreport.c</file>
300 <file>pnproot.c</file>
303 <if property="_WINKD_" value="0">
304 <directory name="kd">
305 <if property="ARCH" value="i386">
306 <directory name="i386">
307 <file>kdmemsup.c</file>
312 <if property="_WINKD_" value="0">
313 <directory name="kdbg">
314 <if property="ARCH" value="i386">
315 <directory name="i386">
316 <if property="KDBG" value="1">
318 <file>i386-dis.c</file>
319 <file>kdb_help.S</file>
320 <file>longjmp.S</file>
321 <file>setjmp.S</file>
326 <if property="KDBG" value="1">
327 <ifnot property="ARCH" value="amd64">
329 <file>kdb_cli.c</file>
330 <file>kdb_expr.c</file>
332 <file>kdb_keyboard.c</file>
333 <file>kdb_serial.c</file>
334 <if property="ARCH" value="amd64">
335 <directory name="amd64">
340 <if property="DBG_OR_KDBG" value="true">
341 <file>kdb_symbols.c</file>
344 <directory name="kd">
345 <directory name="wrappers">
347 <if property="ARCH" value="i386">
348 <file>gdbstub.c</file>
350 <if property="ARCH" value="powerpc">
351 <file>gdbstub_powerpc.c</file>
355 <if property="ARCH" value="amd64">
356 <directory name="amd64">
360 <file>kdinit.c</file>
362 <file>kdmain.c</file>
365 <if property="_WINKD_" value ="1">
366 <directory name="kd64">
367 <if property="ARCH" value="i386">
368 <directory name="i386">
372 <if property="ARCH" value="amd64">
373 <directory name="amd64">
377 <if property="ARCH" value="arm">
378 <directory name="arm">
383 <file>kdbreak.c</file>
384 <file>kddata.c</file>
385 <file>kdinit.c</file>
386 <file>kdlock.c</file>
387 <file>kdprint.c</file>
388 <file>kdtrap.c</file>
391 <directory name="lpc">
393 <file>complete.c</file>
394 <file>connect.c</file>
395 <file>create.c</file>
396 <file>listen.c</file>
401 <directory name="mm">
402 <if property="ARCH" value="i386">
403 <directory name="i386">
407 <if property="ARCH" value="arm">
408 <directory name="arm">
412 <if property="ARCH" value="powerpc">
413 <directory name="powerpc">
414 <file>pfault.c</file>
418 <if property="ARCH" value="amd64">
419 <directory name="amd64">
424 <directory name="ARM3">
425 <if property="ARCH" value="i386">
426 <directory name="i386">
430 <if property="ARCH" value="arm">
431 <directory name="arm">
435 <file>contmem.c</file>
436 <file>drvmgmt.c</file>
437 <file>dynamic.c</file>
438 <file>expool.c</file>
439 <file>hypermap.c</file>
441 <file>mdlsup.c</file>
443 <file>ncache.c</file>
444 <file>pagfault.c</file>
446 <file>procsup.c</file>
447 <file>syspte.c</file>
448 <file>virtual.c</file>
450 <file>anonmem.c</file>
451 <file>balance.c</file>
452 <file>dbgpool.c</file>
453 <file>freelist.c</file>
455 <if property="_WINKD_" value ="1">
458 <file>mmfault.c</file>
459 <file>mminit.c</file>
461 <file>pagefile.c</file>
462 <file>pageop.c</file>
466 <file>procsup.c</file>
467 <file>region.c</file>
469 <file>section.c</file>
470 <file>sysldr.c</file>
471 <file>virtual.c</file>
472 <if property="_ELF_" value="1">
477 <directory name="ob">
479 <file>obinit.c</file>
480 <file>obhandle.c</file>
481 <file>obname.c</file>
482 <file>oblife.c</file>
484 <file>obsdcach.c</file>
485 <file>obsecure.c</file>
486 <file>oblink.c</file>
487 <file>obwait.c</file>
489 <directory name="po">
491 <file>events.c</file>
493 <directory name="ps">
494 <if property="ARCH" value="i386">
495 <directory name="i386">
500 <if property="ARCH" value="arm">
501 <directory name="arm">
505 <if property="ARCH" value="amd64">
506 <directory name="amd64">
513 <file>psnotify.c</file>
514 <file>process.c</file>
518 <file>security.c</file>
520 <file>thread.c</file>
523 <directory name="rtl">
524 <if property="ARCH" value="arm">
525 <directory name="arm">
526 <file>rtlexcpt.c</file>
529 <if property="ARCH" value="i386">
530 <directory name="i386">
534 <file>libsupp.c</file>
537 <directory name="se">
538 <file>access.c</file>
548 <directory name="vdm">
549 <if property="ARCH" value="i386">
550 <file>vdmmain.c</file>
551 <file>vdmexec.c</file>
554 <directory name="wmi">
557 <file>ntoskrnl.rc</file>
558 <linkerscript>ntoskrnl_$(ARCH).lnk</linkerscript>
560 <!-- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054#c7 -->
561 <compilerflag compilerset="gcc">-fno-unit-at-a-time</compilerflag>