106 lines
2.6 KiB
Plaintext
106 lines
2.6 KiB
Plaintext
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}
|