|
|
1.1 root 1: #*************************************************************#
2: #** **#
3: #** Microsoft RPC Examples **#
1.1.1.4 ! root 4: #** Mandelbrot RPC Application **#
1.1 root 5: #** Copyright(c) Microsoft Corp. 1991 **#
6: #** **#
7: #*************************************************************#
8: # The same source code is used to build either a standalone
9: # or an RPC version of the Microsoft Windows (R) Mandelbrot
10: # sample application. The flag RPC determines which version
11: # is built. To build a standalone version, use the commands:
12: # >nmake cleanall
1.1.1.2 root 13: # >set NOTRPC=1
1.1 root 14: # >nmake
15: # To build the RPC version, use the commands:
16: # >nmake cleanall
1.1.1.2 root 17: # >set NOTRPC=
1.1 root 18: # >nmake
19: !include <ntwin32.mak>
20:
1.1.1.2 root 21: !ifdef NOTRPC
1.1 root 22: RPCFLAG =
1.1.1.2 root 23: !else
24: RPCFLAG = -DRPC
1.1 root 25: !endif
26:
27: .c.obj:
1.1.1.4 ! root 28: $(cc) $(cdebug) $(cflags) $(cvars) $(RPCFLAG) $<
1.1 root 29:
30: # Targets
31: # The RPC version produces client and server executables.
32: # The standalone version produces a single exe file, "mandel".
33:
1.1.1.2 root 34: !ifndef NOTRPC
1.1 root 35: all: client.exe server.exe
36: !else
37: all: mandel.exe
38: !endif
39:
1.1.1.3 root 40: mandel.exe: mandel.obj remote.obj mandel.def mandel.rbj calc.obj
1.1.1.4 ! root 41: $(link) $(linkdebug) $(guiflags) -out:mandel.exe -map:mandel.map \
1.1.1.3 root 42: mandel.obj remote.obj calc.obj mandel.rbj $(guilibs)
1.1 root 43:
1.1.1.4 ! root 44: client.exe: mandel.obj remote.obj mandel.def mandel.rbj mdlrpc_c.obj mdlrpc_x.obj
! 45: $(link) $(linkdebug) $(guiflags) -out:client.exe -map:client.map \
1.1 root 46: mandel.obj remote.obj mdlrpc_c.obj mdlrpc_x.obj \
1.1.1.4 ! root 47: mandel.rbj rpcrt4.lib $(guilibs)
1.1 root 48:
49: server.exe: server.obj calc.obj mdlrpc_s.obj mdlrpc_y.obj
1.1.1.4 ! root 50: $(link) $(linkdebug) $(conflags) -out:server.exe -map:server.map \
1.1 root 51: server.obj calc.obj mdlrpc_s.obj mdlrpc_y.obj \
1.1.1.4 ! root 52: rpcrt4.lib $(conlibs)
1.1 root 53:
54: # Update the resource if necessary
1.1.1.3 root 55: mandel.rbj: mandel.rc mandel.h
56: rc -r mandel.rc
57: cvtres -$(CPU) mandel.res -o mandel.rbj
1.1 root 58:
59: # Object file dependencies
60:
61: # server only built for RPC version; always needs mdlrpc.h
62: server.obj: server.c mandel.h mdlrpc.h
63:
64: # Compile differently for RPC, standalone versions
1.1.1.2 root 65: !ifndef NOTRPC
1.1 root 66: mandel.obj: mandel.c mandel.h mdlrpc.h
67: remote.obj: remote.c mandel.h mdlrpc.h
68: calc.obj : calc.c mandel.h mdlrpc.h
69: !else
70: mandel.obj: mandel.c mandel.h
71: remote.obj: remote.c mandel.h
1.1.1.4 ! root 72: calc.obj : calc.c mandel.h
1.1 root 73: !endif
74:
75: # client stub
76: mdlrpc_c.obj : mdlrpc_c.c mdlrpc.h
77:
78: # client auxiliary file
79: mdlrpc_x.obj : mdlrpc_x.c mdlrpc.h
80:
81: # server stub file
82: mdlrpc_s.obj : mdlrpc_s.c mdlrpc.h
83:
84: # server auxiliary file
85: mdlrpc_y.obj : mdlrpc_y.c mdlrpc.h
86:
87: # Stubs, auxiliary and header file from the IDL file
88: mdlrpc.h mdlrpc_c.c mdlrpc_x.c mdlrpc_s.c mdlrpc_y.c: mdlrpc.idl mdlrpc.acf
1.1.1.4 ! root 89: midl -cpp_cmd $(cc) -cpp_opt "-E" mdlrpc.idl
1.1 root 90:
91: clean:
92: -del client.exe
93: -del server.exe
94: -del mandel.exe
95:
96: cleanall: clean
1.1.1.4 ! root 97: -del *.obj
! 98: -del *.map
1.1 root 99: -del *.res
1.1.1.3 root 100: -del *.rbj
1.1 root 101: -del mdlrpc_*.c
1.1.1.4 ! root 102: -del mdlrpc.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.