mirror of https://github.com/lianthony/NT4.0
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.
404 lines
12 KiB
404 lines
12 KiB
# --------------------------------------------------------------------
|
|
#
|
|
# Microsoft RPC
|
|
# Copyright(c) Microsoft Corp., 1990-94
|
|
#
|
|
# --------------------------------------------------------------------
|
|
# --------------------------------------------------------------------
|
|
#
|
|
# File : makefile.inc
|
|
#
|
|
# Title : Makefile for the Win16 RPC client runtime
|
|
#
|
|
# History :
|
|
# stevez 08-30-90 Cloned from ..\dos\makefile
|
|
# mikemon 11-08-90 Added the IMPORT environment variable.
|
|
# mikemon 11-08-90 Changed the default build so that $(PATH),
|
|
# $(INCLUDE), $(LIB) dont include themselves.
|
|
# mikemon 11-16-90 Switched the $(IMPORT)\os212\h directory before
|
|
# the $(IMPORT)\c600\h directory for includes.
|
|
# mariogo 4-15-94 New stuff - re-write.
|
|
# --------------------------------------------------------------------
|
|
|
|
!ifndef RPC
|
|
!error - You forgot to set your build environment
|
|
!endif
|
|
|
|
## These inference rules must be defined FIRST. Inference rules are evaluated
|
|
## backwards, we want to use the file in . or .. before those possibly
|
|
## avaliable with these rules. Yes, this is a hack.
|
|
|
|
{..\dos}.c{}.obj :
|
|
$(CC) $(CFLAGS) -Fo$@ -c $<
|
|
|
|
{..\dos}.cxx{}.obj :
|
|
$(CC) $(CXXFLAGS) -Fo$@ -c $<
|
|
|
|
WIN=1
|
|
|
|
!include ..\rules.mk
|
|
|
|
CINC = -I$(RPC)\common\include $(CINC) -I..\..\rpcreg -I$(IMPORT)\lmsdk\h -I..\dos -I$(IMPORT)\banyan\winsdk\include
|
|
|
|
CFLAGS =$(CFLAGS) -AMw
|
|
CFLAGS_AL =$(CFLAGS:AM=AL)
|
|
CXXFLAGS =$(CXXFLAGS) -AMw
|
|
|
|
#
|
|
# WARNING WARNING WARNING
|
|
#
|
|
# Do not rearrange or add to the files in this list without first reading
|
|
# the comment block for NotificationStart() in wdatexit.c !
|
|
|
|
OBJS = \
|
|
binding.obj \
|
|
bitset.obj \
|
|
bufapi.obj \
|
|
clntapip.obj \
|
|
conv_s.obj \
|
|
dcebind.obj \
|
|
dcecclnt.obj \
|
|
dcecmisc.obj \
|
|
dcestrng.obj \
|
|
dceuuid.obj \
|
|
dgclnt.obj \
|
|
dgpkt.obj \
|
|
dllmgmt.obj \
|
|
dthreads.obj \
|
|
epclnt.obj \
|
|
epmp_c.obj \
|
|
except86.obj \
|
|
handle.obj \
|
|
memory.obj \
|
|
miscwin.obj \
|
|
msgapi.obj \
|
|
osfclnt.obj \
|
|
osfpcket.obj \
|
|
rpcuuid.obj \
|
|
sdict.obj \
|
|
secclnt.obj \
|
|
tower.obj \
|
|
tranclnt.obj \
|
|
ulong64.obj \
|
|
util.obj \
|
|
uuid16.obj \
|
|
wdatexit.obj \
|
|
winexcpt.obj \
|
|
winutil.obj \
|
|
winyield.obj \
|
|
!ifndef RELEASE
|
|
lacheck.obj \
|
|
!endif
|
|
|
|
|
|
# --------------------------------------------------------------------
|
|
# These are the targets required by the build process.
|
|
|
|
all : $(TARGETDIR)\rpcrt1.dll \
|
|
$(TARGETDIR)\Rpc.lib \
|
|
$(TARGETDIR)\rpc16c1.dll \
|
|
$(TARGETDIR)\rpc16c3.dll \
|
|
$(TARGETDIR)\rpc16dg3.dll\
|
|
$(TARGETDIR)\rpc16c4.dll \
|
|
$(TARGETDIR)\rpc16c5.dll \
|
|
$(TARGETDIR)\rpc16c6.dll \
|
|
$(TARGETDIR)\rpc16dg6.dll \
|
|
$(TARGETDIR)\rpc16c8.dll \
|
|
$(TARGETDIR)\netapi.dll \
|
|
uclnt.exe
|
|
|
|
clobber ::
|
|
-del $(TARGETDIR)\*.lib $(TARGETDIR)\*.exe $(TARGETDIR)\*.dll 2> nul
|
|
|
|
depend :
|
|
$(INCLUDES) $(INCLUDESFLAGS) *.c *.cxx ..\*.cxx ..\*.c *.asm \
|
|
..\dos\uuid16.cxx ..\dos\ulong64.cxx > depend.mk
|
|
|
|
tree :
|
|
copy Rpc.h $(RPCDIST)\win\inc\Rpc.h
|
|
copy $(TARGETDIR)\Rpc.lib $(RPCDIST)\win\lib
|
|
copy $(TARGETDIR)\rpcrt1.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C1.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C3.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16dg3.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C4.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C5.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C8.dll $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpcrt1.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C1.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C3.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16dg3.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C4.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C5.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpcrt1.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C1.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C3.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16dg3.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C4.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C5.sym $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16C6.dll $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\rpc16dg6.dll $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C6.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16dg6.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16C6.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16c8.map $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16c8.sym $(RPCDIST)\win\dll
|
|
-copy $(TARGETDIR)\rpc16dg6.sym $(RPCDIST)\win\dll
|
|
copy $(TARGETDIR)\netapi.dll $(RPCDIST)\win\dll
|
|
copy stdio\sStdioW.lib $(RPCDIST)\win\lib
|
|
copy stdio\lStdioW.lib $(RPCDIST)\win\lib
|
|
copy stdio\WinMain.def $(RPCDIST)\win\lib
|
|
copy stdio\WinMain.res $(RPCDIST)\win\lib
|
|
|
|
#
|
|
# copy generated DLLs to runtime\bin\win
|
|
#
|
|
$(TARGETDIR)\rpcrt1.dll \
|
|
$(TARGETDIR)\rpc16c1.dll \
|
|
$(TARGETDIR)\rpc16c3.dll \
|
|
$(TARGETDIR)\rpc16c4.dll \
|
|
$(TARGETDIR)\rpc16c5.dll \
|
|
$(TARGETDIR)\rpc16c6.dll \
|
|
$(TARGETDIR)\rpc16dg3.dll \
|
|
$(TARGETDIR)\rpc16c8.dll \
|
|
$(TARGETDIR)\rpc16dg6.dll \
|
|
: $(@B).dll
|
|
copy $(@B).dll $*.dll
|
|
copy $(@B).map $*.map
|
|
copy $(@B).sym $*.sym
|
|
|
|
#
|
|
# version information for each DLL
|
|
#
|
|
RPC16C1.res \
|
|
RPC16C3.res \
|
|
RPC16C4.res \
|
|
RPC16C5.res \
|
|
RPC16C6.res \
|
|
RPC16C8.res \
|
|
RPC16DG3.res \
|
|
RPC16DG6.res \
|
|
: rpcwinlt.rc rpcver.h
|
|
set INCLUDE=$(WINSDK_INC)
|
|
$(RC) $(RCFLAGS:/nologo=) -d$(@B) -fo"$@" -r rpcwinlt.rc
|
|
|
|
|
|
# --------------------------------------------------------------------
|
|
|
|
RT1LIBS=$(WIN_LIB)\mdllcew.lib \
|
|
$(WINSDK_LIB)\libw.lib \
|
|
$(WINSDK_LIB)\toolhelp.lib \
|
|
$(RPC)\common\lib\wnetapi.lib \
|
|
$(TARGETDIR)\rpcreg.lib \
|
|
$(RPC)\ndrlib\win\rpcndrp.lib \
|
|
$(RPC)\ndr20\win\rpcndr20.lib
|
|
|
|
rpcrt1.lnk: makefile
|
|
echo @<<rpcrt1.lnk
|
|
$(OBJS: =+^
|
|
)
|
|
rpcrt1.dll
|
|
rpcrt1.map
|
|
$(RT1LIBS: =+^
|
|
)
|
|
rpcwin.def
|
|
<<KEEP
|
|
|
|
rpcwin.res: rpcwin.rc rpcver.h rpcyield.dlg
|
|
set INCLUDE=$(WINSDK_INC)
|
|
$(RC) $(RCFLAGS) -r rpcwin.rc
|
|
|
|
rpcrt1.dll : $(OBJS) $(RT1LIBS) rpcrt1.lnk rpcwin.res
|
|
$(LINK) $(LINKFLAGS) @rpcrt1.lnk
|
|
$(RC) $(RCFLAGS) -k rpcwin.res $@
|
|
$(MAPSYM) $(MAPSYMFLAGS) $*.map
|
|
|
|
$(TARGETDIR)\netapi.dll: $(@B).dll
|
|
copy $(@B).dll $*.dll
|
|
|
|
netapi.dll: netapi.obj ltstart.obj netapi.def
|
|
$(LINK) $(LINKFLAGS) netapi.obj+ltstart.obj,$@,$*.map,\
|
|
$(WIN_LIB)\sdllcew $(WINSDK_LIB)\libw, netapi.def;
|
|
$(RC) $(RCFLAGS) $@
|
|
|
|
$(TARGETDIR)\Rpc.lib : rpcwin.def $(TARGETDIR)\RpcNs.lib
|
|
$(IMPLIB) $@ rpcwin.def
|
|
copy $@ $(TARGETDIR)\RpcRaw.lib
|
|
$(LIBRARIAN) $@+$(TARGETDIR)\RpcNs.lib;
|
|
|
|
$(TARGETDIR)\RpcNs.lib:
|
|
cd ..\..\..\locator\client\win
|
|
nmake $@
|
|
cd ..\..\..\runtime\mtrt\win
|
|
|
|
# Named pipes client interface DLL
|
|
|
|
rpc16C1.dll: npltclnt.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res npltc.def
|
|
$(LINK) $(LINKFLAGS) npltclnt+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\sdllcew.lib $(WINSDK_LIB)\libw.lib $(RPCCOMMON)\lib\wnetapi $(RPCCOMMON)\lib\wfwnet,\
|
|
npltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# Winsock TCP/IP client interface DLL
|
|
|
|
tcltclnt.obj :
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c tcltclnt.c
|
|
|
|
|
|
rpc16C3.dll: tcltclnt.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res tcltc.def
|
|
$(LINK) $(LINKFLAGS) tcltclnt+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(RPCCOMMON)\lib\winsock+$(WIN_LIB)\libw,\
|
|
tcltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# Wsockets (lanman) TCP/IP client interface
|
|
|
|
tcpclntx.obj :
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c tcpclntx.c
|
|
|
|
rpc16C3X.dll: tcpclntX.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res tcltc.def
|
|
$(LINK) $(LINKFLAGS) tcpclntX+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(RPC)\common\lib\win_sock+$(WINSDK_LIB)\libw,\
|
|
tcltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# Winsock UDP/IP client interface DLL
|
|
|
|
dgudpc.obj :
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c dgudpc.c
|
|
|
|
rpc16dg3.dll: dgudpc.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res dgudpc.def
|
|
$(LINK) $(LINKFLAGS) dgudpc+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(RPC)\common\lib\winsock+$(WINSDK_LIB)\libw,\
|
|
dgudpc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# DecNet client interface DLL
|
|
|
|
dnltclnt.obj :
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c dnltclnt.c
|
|
|
|
rpc16C4.dll: dnltclnt.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res dnltc.def
|
|
$(LINK) $(LINKFLAGS) dnltclnt+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(RPC)\common\lib\dnet_win+$(WINSDK_LIB)\libw,\
|
|
dnltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
|
|
# VINES client interface DLL
|
|
|
|
clntvns.obj :
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c clntvns.c
|
|
|
|
|
|
rpc16C8.dll: clntvns.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res vnsltc.def
|
|
$(LINK) $(LINKFLAGS) clntvns+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(IMPORT)\banyan\winsdk\lib\llibban+$(IMPORT)\banyan\winsdk\lib\vnsapi+$(WIN_LIB)\libw,\
|
|
vnsltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
|
|
# NetBios client interface DLL
|
|
|
|
nbltclnt.c: ..\dos\$@
|
|
copy ..\dos\$@ .
|
|
|
|
nbltclnt.obj:
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
|
|
rpc16C5.dll: nbltclnt.obj ltstart.obj $(TARGETDIR)\Rpc.lib $*.res nbltc.def
|
|
$(LINK) $(LINKFLAGS) nbltclnt.obj+\
|
|
!ifndef RELEASE
|
|
# For ASSERT()
|
|
winutil.obj+ \
|
|
!endif
|
|
ltstart.obj,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(WINSDK_LIB)\libw+$(RPC)\common\lib\wnetapi,\
|
|
nbltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# files borrowed from DOS directory
|
|
|
|
gethost.obj : ..\dos\$*.c ..\dos\novell.h
|
|
copy ..\dos\$*.c .
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
del $*.c
|
|
|
|
novell.obj : ..\dos\$*.c ..\dos\novell.h
|
|
copy ..\dos\$*.c .
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
del $*.c
|
|
|
|
ipxclnt.obj : ..\dos\$*.c ..\dos\novell.h
|
|
copy ..\dos\$*.c .
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
del $*.c
|
|
|
|
# SPX client interface DLL
|
|
|
|
spxclnt.obj : $*.c ..\dos\novell.h
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
|
|
rpc16C6.dll: spxclnt.obj gethost.obj novell.obj ltstart.obj \
|
|
$(TARGETDIR)\Rpc.lib $*.res spxltc.def
|
|
$(LINK) $(LINKFLAGS) spxclnt+gethost+novell+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(WINSDK_LIB)\libw,\
|
|
spxltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# IPX client interface DLL
|
|
|
|
rpc16dg6.dll: ipxclnt.obj gethost.obj novell.obj ltstart.obj \
|
|
$(TARGETDIR)\Rpc.lib $*.res ipxltc.def
|
|
$(LINK) $(LINKFLAGS) ipxclnt+gethost+novell+ltstart,$@,$*.map,\
|
|
$(WIN_LIB)\ldllcew+$(WINSDK_LIB)\libw,\
|
|
ipxltc.def;
|
|
$(RC) $(RCFLAGS) $*.res $@
|
|
$(MAPSYM) $*.map
|
|
|
|
# Misc non-standard rules.
|
|
|
|
# Avoid using the NT memory.cxx
|
|
|
|
memory.obj: memory.c
|
|
$(CC) $(CFLAGS) -Fo$@ -c $*.c
|
|
|
|
conv_c.obj: conv_c.c
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
|
|
epmp_c.obj: epmp_c.c
|
|
$(CC) $(CFLAGS_AL) -Fo$@ -c $*.c
|
|
|
|
lacheck.obj: lacheck.asm
|
|
$(MASM) $(AFLAGS) -I$(RPC)\common\include -DPMODE32=1 -DPMODE=1 -c lacheck.asm
|
|
|
|
# RT BVT
|
|
|
|
CLIENTTESTLIBS = $(WINSDK_LIB)\libw $(WIN_LIB)\mlibcew \
|
|
$(TARGETDIR)\Rpc.lib stdio\mstdiow.lib
|
|
test : uclnt.exe
|
|
|
|
uclnt.obj: ..\uclnt.cxx
|
|
$(CC) $(CXXAPPFLAGS:AMw=AM) -Fc -Fo$@ -c ..\$*.cxx
|
|
|
|
uclnt.exe : uclnt.obj util.obj
|
|
copy $(WIN_BIN)\winstub.exe
|
|
$(LINK) $(LINKFLAGS) $(**: =+),$@,$*.map,\
|
|
$(CLIENTTESTLIBS),uclnt.def;
|
|
$(RC) $(RCFLAGS) $@
|
|
$(MAPSYM) $*.map
|
|
del winstub.exe
|
|
|
|
!include "depend.mk"
|
|
|
|
|
|
|
|
|