Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
2.6 KiB

NT_UP=0
!include $(PROJECT_ROOT)\ntdll\ntdll.inc
MAJORCOMP=ntos
MINORCOMP=dll_
TARGETNAME=ntdll
TARGETPATH=obj
TARGETTYPE=DYNLINK
DLLDEF=$(O)\$(TARGETNAME).def
LINKLIBS= \
$(PROJECT_ROOT)\ntos\rtl\user\$(O)\rtl.lib \
$(SDK_LIB_PATH)\libcntpr.lib \
$(SDK_LIB_PATH)\uuid.lib \
$(PROJECT_ROOT)\wmi\ntdll\$(O)\etwclnt.lib \
$(DS_LIB_PATH)\rsa32.lib
!if $(386)
DLLLIBOBJECTS= \
$(PROJECT_LIB_PATH)\sehprolg.obj
!endif
INCLUDES=..;\
$(PROJECT_ROOT)\ntos\inc;\
$(PROJECT_ROOT)\published\$(O);\
..\i386;\
$(SDKTOOLS_INC_PATH);\
$(WINDOWS_INC_PATH);\
$(COM_INC_PATH)
WIMPMASM=1
C_DEFINES=$(C_DEFINES) -D_NTSYSTEM_ -D_NTDLLBUILD_ -DLITTLEENDIAN=1
MSC_WARNING_LEVEL=/W3 /WX
DLLORDER=..\ntdll.prf
SOURCES=\
..\buffer.c \
..\curdir.c \
..\csrinit.c \
..\csrtask.c \
..\csrutil.c \
..\dllssstb.c \
..\dlluistb.c \
..\filestm.c \
..\frame.c \
..\ldrapi.c \
..\ldrinit.c \
..\ldrsnap.c \
..\ldrutil.c \
..\memstm.c \
..\ntdll.rc \
..\resource.c \
..\seurtl.c \
..\uilist.c \
..\propfwd.cxx \
..\query.c \
..\heaptag.c \
..\ldrwx86.c \
..\vectxcpt.c \
..\verifier.c \
..\wow64apc.c \
..\sxsactctx.c \
..\sxsctxact.c \
..\sxsctxsrch.c \
..\sxsquery.c \
..\sxsstorage.c \
..\sxsstoragemap.c \
..\ImportTableHash.c \
PRECOMPILED_INCLUDE=..\pch.cxx
NTTARGETFILE0=$(DLLDEF)
#
# To test RTL stuff on your development machine:
#
# Allowing for new exports to have been added, so you need a new .lib.
# Besides, you can't call the .dll ntdll.
# Build and nmake don't agree on stuff, like if TARGETNAME=ntdll2 from the command line
# is overridable (build thinks it is, nmake does not), so you must build the regular ntdll.dll
# first, then the alternately named one, so like
# cd daytona
# build -cZ
# build -Z -nmake UMTEST=tpath -nmake TARGETNAME=ntdll2
# if you don't, build/nmake complain "don't know how to make $(O)\ntdll.def" even though
# it isn't supposed to try for the second case.
#
# Either make sure the syscall tables are compatible, or don't call them.
# Be sure to link to kernel32 somehow (like via msvcrt for printf).
#
# You can futz with syscalls, but I don't presently need to.
#
#!if 0
!if 1
UMTYPE=console
UMTEST=tpath
C_DEFINES=$(C_DEFINES) -D_CRTIMP=
#UMLIBS=$(O)\$(TARGETNAME).lib $(SDK_LIB_PATH)\msvcrt.lib $(PROJECT_ROOT)\ntos\rtl\user\$(O)\rtl.lib
UMLIBS=$(OBJECTS) $(PROJECT_ROOT)\ntos\rtl\user\$(O)\rtl.lib
USE_MSVCRT=1
!endif
PASS1_PUBLISH=\
{$(O)\$(TARGETNAME).lib=$(SDK_LIB_PATH)\$(TARGETNAME).lib}