5 include $(PATH_TO_TOP
)/config
11 TARGET_NAME
= ntoskrnl
13 TARGET_BOOTSTRAP
= yes
24 LINKER_SCRIPT
:= ntoskrnl.lnk
27 TARGET_ASFLAGS
= -I.
/include
28 TARGET_CFLAGS
= -I.
/include $(CFLAGS_KDBG
) -Wall
-Werror
$(CFLAGS_OPT
)
30 # require os code to explicitly request A/W version of structs/functions
31 TARGET_CFLAGS
+= -D_DISABLE_TIDENTS
33 # 3GB User Mode Memory Space support
35 TARGET_CFLAGS
+= -D__3GB__
36 TARGET_BASE
= 0xC0000000
38 TARGET_BASE
= 0x80000000
42 TARGET_CFLAGS
+= -DDBG
45 # enable thread event pair features (NT4 only!)
46 # TARGET_CFLAGS += -D_ENABLE_THRDEVTPAIR
49 # Javascript extension for kdb
52 OBJECTS_PATH
= objects
55 # Architecture specific Makefile
56 # Defines $(OBJECTS_ARCH)
58 include Makefile.
$(ARCH
)
60 # Run-Time Library (Rtl)
80 OBJECTS_RTL
:= $(filter-out $(RTL_EXCLUDE_FILTER
), $(OBJECTS_RTL
))
108 # Memory Manager (Mm)
199 # Object Manager (Ob)
211 # Process Manager (Ps)
229 # Executive Subsystem (Ex)
259 # Installable File System Run-Time Library (FsRtl)
286 # Configuration Manager (Registry)
303 # Local Procedure Call (Lpc)
317 # Power Management (Po)
330 # Kernel Debugger Support (Kd)
336 kd
/wrappers
/gdbstub.o \
339 # User-Mode Debugging (Dbgk)
349 kdbg
/kdb_keyboard.o \
356 ifeq ($(DBG_OR_KDBG
), 1)
366 DEP_OBJECTS
:= $(OBJECTS_MM
) $(OBJECTS_ARCH
) \
367 $(OBJECTS_IO
) $(OBJECTS_KE
) $(OBJECTS_OB
) \
368 $(OBJECTS_PS
) $(OBJECTS_EX
) $(OBJECTS_CC
) $(OBJECTS_FS
) $(OBJECTS_SE
) \
369 $(OBJECTS_KDBG
) $(OBJECTS_DBGK
) $(OBJECTS_CM
) $(OBJECTS_LDR
) $(OBJECTS_LPC
) \
370 $(OBJECTS_PO
) $(OBJECTS_KD
) $(OBJECTS_RTL
) $(OBJECTS_INBV
)
372 TAG_OBJECTS
:= $(join $(dir $(DEP_OBJECTS
)),$(patsubst %.o
, .
%.TAG
, $(notdir $(DEP_OBJECTS
))))
374 TARGET_PCH
= include/ntoskrnl.h
382 mkdir
$(OBJECTS_PATH
)
384 $(OBJECTS_RESOURCE
): $(TARGET_NAME
).rc bugcodes.rc
$(PATH_TO_TOP
)/include/reactos
/resource.h
386 # Note: arch.o MUST be the first file!!!
409 EXTRA_OBJECTS
= $(PATH_TO_TOP
)/include/reactos
/bugcodes.h
411 TARGET_OBJECTS
= $(EXTRA_OBJECTS
) $(OBJECTS
)
414 $(DDK_PATH_LIB
)/libhal.a \
415 $(SDK_PATH_LIB
)/librtl.a \
416 $(SDK_PATH_LIB
)/librossym.a \
417 $(SDK_PATH_LIB
)/libstring.a \
418 $(SDK_PATH_LIB
)/librosrtl.a \
419 $(SDK_PATH_LIB
)/libpseh.a \
420 $(SDK_PATH_LIB
)/libwdmguid.a \
421 $(PATH_TO_TOP
)/drivers
/lib
/csq
/csq.o
424 -Wl
,-T
,ntoskrnl.lnk \
425 -Wl
,--subsystem
,native \
426 -Wl
,--image-base
,$(TARGET_BASE
) \
427 -Wl
,--file-alignment
,0x1000 \
428 -Wl
,--section-alignment
,0x1000 \
429 -Wl
,--entry
,_NtProcessStartup \
435 etags
$(addprefix -i
, $(TAG_OBJECTS
))
437 GENERATED_HEADER_FILES
:= $(PATH_TO_TOP
)/include/reactos
/bugcodes.h
439 $(PATH_TO_TOP
)/include/reactos
/bugcodes.h bugcodes.rc
: ntoskrnl.mc
441 -H
$(PATH_TO_TOP
)/include/reactos
/bugcodes.h \
446 $(PATH_TO_TOP
)/include/reactos
/bugcodes.h \
447 $(DEP_OBJECTS
) $(DEP_FILES
) MSG00409.bin bugcodes.rc
450 ke
/main.o
: ke
/main.c
$(PATH_TO_TOP
)/include/reactos
/buildno.h
452 $(TARGET_PCH
): $(PATH_TO_TOP
)/include/reactos
/bugcodes.h
470 include $(PATH_TO_TOP
)/rules.mak
472 include $(TOOLS_PATH
)/helper.mk
474 include $(TOOLS_PATH
)/depend.mk