Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

269 lines
6.6 KiB

!if ("$(OS)" == "Windows_NT")
!message ==================== Windows NT-hosted build ====================
!else
!message ==================== OS/2-hosted build ====================
!endif
NT_TOOLS=$(SYSTEMROOT)\mstools
NT_SDK=$(_NTBINDIR)\public\sdk
!if "$(OS)"=="Windows_NT"
BINDIRS=ntx86
!else # "$(OS)"=="os2"
BINDIRS=os2 qwin
!endif
# Set tools paths
CC_NT=$(NT_TOOLS)\cl.exe
CC_OS2=$(IMPORT)\c7\binp\cl.exe
LINK_NT=$(NT_TOOLS)\link.exe
LINK_OS2=$(IMPORT)\c7\binp\link.exe
MIDL_NT=$(NT_TOOLS)\midl.exe
MIDL_OS2=$(NT_TOOLS)\midl.exe /env generic
# Set libraries
LIBDIR_NT_X86=$(NT_SDK)\lib\i386
RPCBIN_OS2=$(RPC)\runtime\bin\os2.12
RPCNDR_OS2=$(RPC)\ndrmem\os2.12
RPCNDR_PRIV_OS2=$(RPC)\ndrlib\os2.12
RPCBIN_WIN=$(RPC)\runtime\bin\win
RPCNDR_WIN=$(RPC)\ndrmem\win
LIBS_NT_X86=$(LIBDIR_NT_X86)\libcmt.lib $(LIBDIR_NT_X86)\kernel32.lib \
$(LIBDIR_NT_X86)\ntdll.lib \
$(LIBDIR_NT_X86)\rpcrt4.lib $(LIBDIR_NT_X86)\rpcndr.lib
LIBS_OS2=$(IMPORT)\c7\lib\llibcmt $(IMPORT)\os212\lib\os2 \
$(RPCBIN_OS2)\rpc $(RPCNDR_OS2)\rpcndr $(RPCNDR_PRIV_OS2)\rpcndrp
LIBS_QWIN=$(IMPORT)\c7\lib\llibcewq $(IMPORT)\win31\lib\libw \
$(RPCBIN_WIN)\rpc $(RPCNDR_WIN)\rpcndr
# Set header file paths
INCS_OS2=-I. -Ios2 -I$(IMPORT)\c7\h -I$(IMPORT)\os212\h \
-I$(RPC)\runtime\mtrt\os2.12 -I$(RPC)\runtime\mtrt
INCS_QWIN=-I. -Iqwin -I$(IMPORT)\c7\h \
-I$(RPC)\runtime\mtrt\win -I$(RPC)\runtime\mtrt
INCS_NT_X86=-I. -Intx86 -I$(NT_SDK)\inc\crt -I$(NT_SDK)\inc
#C compiler flags
CFLAGS_COMMON=-J -W3 -nologo
!ifndef RELEASE
CFLAGS_COMMON=$(CFLAGS_COMMON) -Zi -DDEBUG
!endif
CFLAGS_DOS=$(CFLAGS_COMMON) -Zp2
CFLAGS_QWIN=$(CFLAGS_COMMON) -Mq -G2 -Zp2 -AL -Gx
CFLAGS_OS2=$(CFLAGS_COMMON) -Lp -G2 -DOS2 -MT
CFLAGS_NT_X86=$(CFLAGS_COMMON) -DWIN32_NT -D_MT -Di386 -Zp4 -Od -Zl -G3z -Zd -Z7
# Linker flags
LFLAGS_COMMON=/map
LFLAGS_DOS=$(LFLAGS_COMMON)
LFLAGS_QWIN=$(LFLAGS_COMMON) /nod
LFLAGS_OS2=$(LFLAGS_COMMON) /pm:vio /nod
LFLAGS_NT_X86=$(LFLAGS_COMMON) /machine:i386 /subsystem:console \
/entry:mainCRTStartup
!ifndef RELEASE
LFLAGS_DOS=$(LFLAGS_DOS) /CODEVIEW
LFLAGS_QWIN=$(LFLAGS_QWIN) /CODEVIEW
LFLAGS_OS2=$(LFLAGS_OS2) /CODEVIEW
LFLAGS_NT_X86=$(LFLAGS_NT_X86) /debugtype:both /debug:full
!endif
# Linker .DEF files
POKER_DEF_DOS=
POKER_DEF_QWIN=cl.def
POKER_DEF_OS2=
POKER_DEF_NT_X86=
.SUFFIXES: .os .oc .c .h .idl
{.}.c{os2}.oc:
$(CC_OS2) $(CFLAGS_OS2) -DPOKER_CLIENT $(INCS_OS2) -Fo$@ -c $<
{os2}.c{os2}.oc:
$(CC_OS2) $(CFLAGS_OS2) -DPOKER_CLIENT $(INCS_OS2) -Fo$@ -c $<
{.}.c{os2}.os:
$(CC_OS2) $(CFLAGS_OS2) -DPOKER_SERVER $(INCS_OS2) -Fo$@ -c $<
{os2}.c{os2}.os:
$(CC_OS2) $(CFLAGS_OS2) -DPOKER_SERVER $(INCS_OS2) -Fo$@ -c $<
{.}.c{ntx86}.oc:
$(CC_NT) $(CFLAGS_NT_X86) -DPOKER_CLIENT $(INCS_NT_X86) -Fo$@ -c $<
{ntx86}.c{ntx86}.oc:
$(CC_NT) $(CFLAGS_NT_X86) -DPOKER_CLIENT $(INCS_NT_X86) -Fo$@ -c $<
{.}.c{ntx86}.os:
$(CC_NT) $(CFLAGS_NT_X86) -DPOKER_SERVER $(INCS_NT_X86) -Fo$@ -c $<
{ntx86}.c{ntx86}.os:
$(CC_NT) $(CFLAGS_NT_X86) -DPOKER_SERVER $(INCS_NT_X86) -Fo$@ -c $<
{.}.c{qwin}.oc:
$(CC_OS2) $(CFLAGS_QWIN) -DPOKER_CLIENT $(INCS_QWIN) -Fo$@ -c $<
{qwin}.c{qwin}.oc:
$(CC_OS2) $(CFLAGS_QWIN) -DPOKER_CLIENT $(INCS_QWIN) -Fo$@ -c $<
POKER_COMMON_SRC_C=.\weight.c .\gamedata.c .\midlutil.c
POKER_CLIENT_SRC_C=.\pokercli.c .\ui.c .\strings.c \
$(POKER_COMMON_SRC_C)
POKER_CLIENT_SRC_RPC=.\pokrpc_c.c .\pokrpc_x.c .\pokinc_x.c
POKER_SERVER_SRC_C=.\pokersrv.c .\dispatch.c .\osutil_s.c .\deal.c \
.\random.c .\betting.c .\winner.c .\stud.c .\draw.c \
$(POKER_COMMON_SRC_C)
POKER_SERVER_SRC_RPC=.\pokrpc_s.c .\pokrpc_y.c .\pokinc_y.c
POKER_CLIENT_OBJS_BASE=$(POKER_CLIENT_SRC_C:.c=.oc) $(POKER_CLIENT_SRC_RPC:.c=.oc)
POKER_SERVER_OBJS_BASE=$(POKER_SERVER_SRC_C:.c=.os) $(POKER_SERVER_SRC_RPC:.c=.os)
POKER_CLIENT_OBJS_NT_X86=$(POKER_CLIENT_OBJS_BASE:.\=ntx86\)
POKER_CLIENT_OBJS_OS2=$(POKER_CLIENT_OBJS_BASE:.\=os2\)
POKER_CLIENT_OBJS_QWIN=$(POKER_CLIENT_OBJS_BASE:.\=qwin\)
POKER_SERVER_OBJS_NT_X86=$(POKER_SERVER_OBJS_BASE:.\=ntx86\)
POKER_SERVER_OBJS_OS2=$(POKER_SERVER_OBJS_BASE:.\=os2\)
# Main OSs
all: server client
!if "$(OS)"=="Windows_NT"
server: ntx86\pokersrv.exe
client: ntx86\pokercli.exe
!else # "$(OS)"=="os2"
server: os2\pokersrv.exe
client: os2\pokercli.exe qwin\pokercli.exe
!endif
clean:
-for %%d in ($(BINDIRS)) do del %%d\*.*
# Build linker response files
os2\pokercli.lnk: makefile
echo @<<$@
/batch $(LFLAGS_DEBUG) $(LFLAGS_OS2) +
$(POKER_CLIENT_OBJS_OS2: =+^
)
$*
$*
$(LIBS_OS2: =+^
)
$(POKER_DEF_OS2)
<<KEEP
qwin\pokercli.lnk: makefile
echo @<<$@
/batch $(LFLAGS_DEBUG) $(LFLAGS_QWIN) +
$(POKER_CLIENT_OBJS_QWIN: =+^
)
$*
$*
$(LIBS_QWIN: =+^
)
$(POKER_DEF_QWIN)
<<KEEP
os2\pokersrv.lnk: makefile
echo @<<$@
/batch $(LFLAGS_DEBUG) $(LFLAGS_OS2) +
$(POKER_SERVER_OBJS_OS2: =+^
)
$*
$*
$(LIBS_OS2: =+^
)
$(POKER_DEF_OS2)
<<KEEP
# Executable file rules
ntx86\pokercli.exe: $(POKER_CLIENT_OBJS_NT_X86)
$(LINK_NT) $(LFLAGS_NT_X86) /map:$*.map /out:$@ $(POKER_CLIENT_OBJS_NT_X86) \
$(LIBS_NT_X86)
os2\pokercli.exe: $(POKER_CLIENT_OBJS_OS2) $*.lnk
$(LINK_OS2) @$*.lnk
mapsym -o $*.sym $*.map
qwin\pokercli.exe: $(POKER_CLIENT_OBJS_QWIN) $*.lnk
$(LINK_OS2) @$*.lnk
mapsym -o $*.sym $*.map
ntx86\pokersrv.exe: $(POKER_SERVER_OBJS_NT_X86)
$(LINK_NT) $(LFLAGS_NT_X86) /map:$*.map /out:$@ $(POKER_SERVER_OBJS_NT_X86) \
$(LIBS_NT_X86)
os2\pokersrv.exe: $(POKER_SERVER_OBJS_OS2) $*.lnk
$(LINK_OS2) @$*.lnk
mapsym -o $*.sym $*.map
# RPC (MIDL-generated) source and header files
!if "$(OS)"=="Windows_NT"
ntx86\pokrpc.h $(POKER_CLIENT_SRC_RPC:.\=ntx86\) \
$(POKER_SERVER_SRC_RPC:.\=ntx86\): \
pokrpc.idl pokrpc.acf poker.h pokinc.idl
$(MIDL_NT) /out ntx86 /ms_ext /import ms_nt /c_ext /Zp4 $(INCS_NT_X86) /DMIDL /DDEBUG pokrpc.idl
!else # "$(OS)"=="os2"
os2\pokrpc.h $(POKER_CLIENT_SRC_RPC:.\=os2\) \
$(POKER_SERVER_SRC_RPC:.\=os2\): \
pokrpc.idl pokrpc.acf poker.h pokinc.idl
$(MIDL_OS2) /out os2 /ms_ext /import ms_nt /c_ext /Zp2 $(INCS_OS2) /DMIDL /DDEBUG pokrpc.idl
qwin\pokrpc.h $(POKER_CLIENT_SRC_RPC:.\=qwin\): \
pokrpc.idl pokrpc.acf poker.h pokinc.idl
$(MIDL_OS2) /out qwin /server none /ms_ext /c_ext /import ms_nt /Zp2 $(INCS_QWIN) /DMIDL /DDEBUG pokrpc.idl
!endif
# Header file dependencies
!if "$(OS)"=="Windows_NT"
$(POKER_CLIENT_OBJS_NT_X86): poker.h pokercli.h ntx86\pokrpc.h
$(POKER_SERVER_OBJS_NT_X86): poker.h pokersrv.h osutil_s.h ntx86\pokrpc.h
!else # "$(OS)"=="os2"
$(POKER_CLIENT_OBJS_OS2): poker.h pokercli.h os2\pokrpc.h
$(POKER_CLIENT_OBJS_QWIN): poker.h pokercli.h qwin\pokrpc.h
$(POKER_SERVER_OBJS_OS2): poker.h pokersrv.h osutil_s.h os2\pokrpc.h
!endif