xref: /reactos/ntoskrnl/ntos.cmake (revision d2c71d76)
1
2include_directories(
3    ${REACTOS_SOURCE_DIR}
4    ${REACTOS_SOURCE_DIR}/sdk/lib/cmlib
5    include
6    ${CMAKE_CURRENT_BINARY_DIR}/include
7    ${CMAKE_CURRENT_BINARY_DIR}/include/internal
8    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers)
9
10add_definitions(
11    -D__NTOSKRNL__
12    -D_NTOSKRNL_
13    -D_NTSYSTEM_
14    -D_IN_KERNEL_
15    -DNTDDI_VERSION=0x05020400)
16
17if(NOT DEFINED NEWCC)
18    set(NEWCC FALSE)
19endif()
20
21if(NEWCC)
22    add_definitions(-DNEWCC)
23    list(APPEND SOURCE
24        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/cachesub.c
25        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/copysup.c
26        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/fssup.c
27        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/lazyrite.c
28        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/logsup.c
29        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/mdlsup.c
30        ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/pinsup.c)
31else()
32    list(APPEND SOURCE
33        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/cacheman.c
34        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/copy.c
35        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/fs.c
36        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/lazywrite.c
37        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/mdl.c
38        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/pin.c
39        ${REACTOS_SOURCE_DIR}/ntoskrnl/cc/view.c)
40endif()
41
42list(APPEND SOURCE
43    ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h
44    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/io.c
45    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/data.c
46    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/fault.c
47    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/reqtools.c
48    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/sptab.c
49    ${REACTOS_SOURCE_DIR}/ntoskrnl/cache/section/swapout.c
50    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmalloc.c
51    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmapi.c
52    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmboot.c
53    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmcheck.c
54    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmconfig.c
55    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmcontrl.c
56    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmdata.c
57    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmdelay.c
58    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmhook.c
59    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmhvlist.c
60    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cminit.c
61    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmkcbncb.c
62    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmlazy.c
63    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmmapvw.c
64    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmnotify.c
65    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmparse.c
66    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmquota.c
67    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmse.c
68    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmsecach.c
69    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmsysini.c
70    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmvalche.c
71    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/cmwraprs.c
72    ${REACTOS_SOURCE_DIR}/ntoskrnl/config/ntapi.c
73    ${REACTOS_SOURCE_DIR}/ntoskrnl/dbgk/dbgkobj.c
74    ${REACTOS_SOURCE_DIR}/ntoskrnl/dbgk/dbgkutil.c
75    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/atom.c
76    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/callback.c
77    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/dbgctrl.c
78    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/efi.c
79    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/event.c
80    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/evtpair.c
81    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/exintrin.c
82    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/fmutex.c
83    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/handle.c
84    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/harderr.c
85    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/hdlsterm.c
86    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/init.c
87    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/interlocked.c
88    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/keyedevt.c
89    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/locale.c
90    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/lookas.c
91    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/mutant.c
92    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/profile.c
93    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/pushlock.c
94    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/resource.c
95    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/rundown.c
96    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/sem.c
97    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/shutdown.c
98    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/sysinfo.c
99    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/time.c
100    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/timer.c
101    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/uuid.c
102    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/win32k.c
103    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/work.c
104    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/xipdisp.c
105    ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/zone.c
106    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/dbcsname.c
107    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/fastio.c
108    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/faulttol.c
109    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/filelock.c
110    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/filter.c
111    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/filtrctx.c
112    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/fsfilter.c
113    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/fsrtlpc.c
114    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/largemcb.c
115    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/mcb.c
116    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/name.c
117    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/notify.c
118    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/oplock.c
119    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/pnp.c
120    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/stackovf.c
121    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/tunnel.c
122    ${REACTOS_SOURCE_DIR}/ntoskrnl/fsrtl/unc.c
123    ${REACTOS_SOURCE_DIR}/ntoskrnl/fstub/disksup.c
124    ${REACTOS_SOURCE_DIR}/ntoskrnl/fstub/fstubex.c
125    ${REACTOS_SOURCE_DIR}/ntoskrnl/fstub/halstub.c
126    ${REACTOS_SOURCE_DIR}/ntoskrnl/fstub/translate.c
127    ${REACTOS_SOURCE_DIR}/ntoskrnl/inbv/inbv.c
128    ${REACTOS_SOURCE_DIR}/ntoskrnl/inbv/inbvport.c
129    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/adapter.c
130    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/arcname.c
131    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/bootlog.c
132    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/controller.c
133    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/device.c
134    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/deviface.c
135    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/driver.c
136    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/error.c
137    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/file.c
138    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iocomp.c
139    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/ioevent.c
140    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iofunc.c
141    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iomdl.c
142    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iomgr.c
143    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iorsrce.c
144    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iotimer.c
145    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/iowork.c
146    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/irp.c
147    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/irq.c
148    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/ramdisk.c
149    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/rawfs.c
150    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/remlock.c
151    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/symlink.c
152    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/util.c
153    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/volume.c
154    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/plugplay.c
155    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpdma.c
156    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpinit.c
157    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpmgr.c
158    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpnotify.c
159    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpreport.c
160    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnpres.c
161    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnproot.c
162    ${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/pnputil.c
163    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/apc.c
164    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/balmgr.c
165    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/bug.c
166    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/clock.c
167    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/config.c
168    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/devqueue.c
169    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/dpc.c
170    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/eventobj.c
171    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/except.c
172    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/freeze.c
173    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/gate.c
174    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/gmutex.c
175    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/ipi.c
176    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/krnlinit.c
177    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/mutex.c
178    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/procobj.c
179    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/profobj.c
180    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/queue.c
181    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/semphobj.c
182    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/spinlock.c
183    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/thrdobj.c
184    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/thrdschd.c
185    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/time.c
186    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/timerobj.c
187    ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/wait.c
188    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/close.c
189    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/complete.c
190    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/connect.c
191    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/create.c
192    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/listen.c
193    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/port.c
194    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/reply.c
195    ${REACTOS_SOURCE_DIR}/ntoskrnl/lpc/send.c
196    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/contmem.c
197    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/drvmgmt.c
198    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/dynamic.c
199    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/expool.c
200    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/hypermap.c
201    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/iosup.c
202    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/kdbg.c
203    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/largepag.c
204    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/mdlsup.c
205    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/mmdbg.c
206    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/mminit.c
207    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/mmsup.c
208    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/ncache.c
209    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/pagfault.c
210    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/pfnlist.c
211    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/pool.c
212    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/procsup.c
213    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/section.c
214    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/session.c
215    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/special.c
216    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/sysldr.c
217    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/syspte.c
218    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/vadnode.c
219    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/virtual.c
220    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/zeropage.c
221    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/balance.c
222    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/freelist.c
223    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/marea.c
224    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/mmfault.c
225    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/mminit.c
226    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/pagefile.c
227    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/region.c
228    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/rmap.c
229    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/section.c
230    ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/shutdown.c
231    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/devicemap.c
232    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obdir.c
233    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obhandle.c
234    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obinit.c
235    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/oblife.c
236    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/oblink.c
237    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obname.c
238    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obref.c
239    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obsdcach.c
240    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obsecure.c
241    ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obwait.c
242    ${REACTOS_SOURCE_DIR}/ntoskrnl/po/events.c
243    ${REACTOS_SOURCE_DIR}/ntoskrnl/po/guid.c
244    ${REACTOS_SOURCE_DIR}/ntoskrnl/po/poshtdwn.c
245    ${REACTOS_SOURCE_DIR}/ntoskrnl/po/povolume.c
246    ${REACTOS_SOURCE_DIR}/ntoskrnl/po/power.c
247    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/apphelp.c
248    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/debug.c
249    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/job.c
250    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/kill.c
251    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/process.c
252    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/psmgr.c
253    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/psnotify.c
254    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/query.c
255    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/quota.c
256    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/security.c
257    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/state.c
258    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/thread.c
259    ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/win32.c
260    ${REACTOS_SOURCE_DIR}/ntoskrnl/rtl/libsupp.c
261    ${REACTOS_SOURCE_DIR}/ntoskrnl/rtl/misc.c
262    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/access.c
263    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/accesschk.c
264    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/acl.c
265    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/audit.c
266    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/priv.c
267    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/sd.c
268    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/semgr.c
269    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/sid.c
270    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/srm.c
271    ${REACTOS_SOURCE_DIR}/ntoskrnl/se/token.c
272    ${REACTOS_SOURCE_DIR}/ntoskrnl/vf/driver.c
273    ${REACTOS_SOURCE_DIR}/ntoskrnl/wmi/guidobj.c
274    ${REACTOS_SOURCE_DIR}/ntoskrnl/wmi/smbios.c
275    ${REACTOS_SOURCE_DIR}/ntoskrnl/wmi/wmi.c
276    ${REACTOS_SOURCE_DIR}/ntoskrnl/wmi/wmidrv.c)
277
278list(APPEND ASM_SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/zw.S)
279
280if(ARCH STREQUAL "i386")
281    list(APPEND ASM_SOURCE
282        ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/i386/fastinterlck_asm.S
283        ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/i386/ioport.S
284        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/ctxswitch.S
285        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/trap.s
286        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/usercall_asm.S
287        ${REACTOS_SOURCE_DIR}/ntoskrnl/rtl/i386/stack.S)
288    list(APPEND SOURCE
289        ${REACTOS_SOURCE_DIR}/ntoskrnl/config/i386/cmhardwr.c
290        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/abios.c
291        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/cpu.c
292        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/context.c
293        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/exp.c
294        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/irqobj.c
295        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/kiinit.c
296        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/ldt.c
297        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/mtrr.c
298        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/patpge.c
299        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/thrdini.c
300        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/traphdlr.c
301        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/usercall.c
302        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/i386/v86vdm.c
303        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/i386/page.c
304        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/i386/init.c
305        ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/i386/psctx.c
306        ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/i386/psldt.c
307        ${REACTOS_SOURCE_DIR}/ntoskrnl/vdm/vdmmain.c
308        ${REACTOS_SOURCE_DIR}/ntoskrnl/vdm/vdmexec.c)
309elseif(ARCH STREQUAL "amd64")
310    list(APPEND ASM_SOURCE
311        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/boot.S
312        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/ctxswitch.S
313        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/trap.S)
314    list(APPEND SOURCE
315        ${REACTOS_SOURCE_DIR}/ntoskrnl/config/i386/cmhardwr.c
316        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/context.c
317        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/cpu.c
318        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/except.c
319        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/interrupt.c
320        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/irql.c
321        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/kiinit.c
322        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/krnlinit.c
323        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/spinlock.c
324        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/stubs.c
325        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/amd64/thrdini.c
326        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/amd64/init.c
327        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/amd64/page.c
328        ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/amd64/psctx.c)
329elseif(ARCH STREQUAL "arm")
330    list(APPEND ASM_SOURCE
331        ${REACTOS_SOURCE_DIR}/ntoskrnl/ex/arm/ioport.s
332        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/boot.s
333        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/ctxswtch.s
334        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/stubs_asm.s
335        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/trap.s)
336    list(APPEND SOURCE
337        ${REACTOS_SOURCE_DIR}/ntoskrnl/config/arm/cmhardwr.c
338        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/arm/kdbg.c
339        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/cpu.c
340        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/exp.c
341        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/interrupt.c
342        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/kiinit.c
343        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/thrdini.c
344        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/trapc.c
345        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/arm/usercall.c
346        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/arm/page.c
347        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/ARM3/arm/init.c
348        ${REACTOS_SOURCE_DIR}/ntoskrnl/ps/arm/psctx.c
349        ${REACTOS_SOURCE_DIR}/ntoskrnl/rtl/arm/rtlexcpt.c)
350elseif(ARCH STREQUAL "powerpc")
351    list(APPEND ASM_SOURCE
352        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/main_asm.S
353        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/ctxhelp.S)
354    list(APPEND SOURCE
355        ${REACTOS_SOURCE_DIR}/ntoskrnl/config/powerpc/cmhardwr.c
356        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/cpu.c
357        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/exp.c
358        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/kiinit.c
359        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/ppc_irq.c
360        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/stubs.c
361        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/systimer.c
362        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/thrdini.c
363        ${REACTOS_SOURCE_DIR}/ntoskrnl/ke/powerpc/ctxswitch.c
364        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/powerpc/pfault.c
365        ${REACTOS_SOURCE_DIR}/ntoskrnl/mm/powerpc/page.c)
366endif()
367
368if(NOT _WINKD_)
369    if(ARCH STREQUAL "i386")
370        list(APPEND SOURCE
371            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/i386/kdbg.c
372            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/i386/kdmemsup.c
373            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/wrappers/gdbstub.c)
374        if(KDBG)
375            list(APPEND ASM_SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/i386/kdb_help.S)
376            list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/i386/i386-dis.c)
377        endif()
378    elseif(ARCH STREQUAL "amd64")
379        list(APPEND SOURCE
380            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/amd64/kd.c
381            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/i386/kdbg.c  # Use the x86 file
382            ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/amd64/kdmemsup.c)
383        if(KDBG)
384            list(APPEND ASM_SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/amd64/kdb_help.S)
385            list(APPEND SOURCE
386                ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/amd64/i386-dis.c
387                ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/amd64/kdb.c)
388        endif()
389    elseif(ARCH STREQUAL "arm")
390        list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/arm/kdbg.c)
391    elseif(ARCH STREQUAL "powerpc")
392        list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/wrappers/gdbstub_powerpc.c)
393    endif()
394
395    if(KDBG)
396        list(APPEND SOURCE
397            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb.c
398            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb_cli.c
399            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb_expr.c
400            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb_keyboard.c
401            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb_serial.c
402            ${REACTOS_SOURCE_DIR}/ntoskrnl/kdbg/kdb_symbols.c)
403    endif()
404
405    list(APPEND SOURCE
406        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/wrappers/bochs.c
407        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/wrappers/kdbg.c
408        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/kdinit.c
409        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/kdio.c
410        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd/kdmain.c)
411
412else() # _WINKD_
413
414    list(APPEND SOURCE
415        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdapi.c
416        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdbreak.c
417        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kddata.c
418        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdinit.c
419        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdlock.c
420        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdprint.c
421        ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/kdtrap.c)
422
423    if(ARCH STREQUAL "i386")
424        list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/i386/kdx86.c)
425    elseif(ARCH STREQUAL "amd64")
426        list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/amd64/kdx64.c)
427    elseif(ARCH STREQUAL "arm")
428        list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/kd64/arm/kdarm.c)
429    endif()
430
431endif()
432