MAKEFILE
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #*************************************************************#
  2. #**                                                         **#
  3. #**                 Microsoft RPC Examples                  **#
  4. #**               Mandelbrot RPC Application                **#
  5. #**            Copyright(c) Microsoft Corp. 1991-1995       **#
  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
  13. #     >set NOTRPC=1
  14. #     >nmake
  15. # To build the RPC version, use the commands:
  16. #     >nmake cleanall
  17. #     >set NOTRPC=
  18. #     >nmake
  19. !include <ntwin32.mak>
  20. !if "$(CPU)" == "i386"
  21. cflags = $(cflags) -D_CRTAPI1=_cdecl -D_CRTAPI2=_cdecl
  22. !else
  23. cflags = $(cflags) -D_CRTAPI1= -D_CRTAPI2=
  24. !endif
  25. !ifdef NOTRPC
  26. RPCFLAG =
  27. !else
  28. RPCFLAG = -DRPC
  29. !endif
  30. .c.obj:
  31.    $(cc) $(cdebug) $(cflags) $(cvarsdll) $(RPCFLAG) $<
  32. # Targets
  33. # The RPC version produces client and server executables.
  34. # The standalone version produces a single exe file, "mandel".
  35. !ifndef NOTRPC
  36. all: client.exe server.exe
  37. !else
  38. all: mandel.exe
  39. !endif
  40. mandel.exe: mandel.obj remote.obj mandel.def mandel.rbj calc.obj
  41.     $(link) $(linkdebug) $(guiflags) -out:mandel.exe -map:mandel.map 
  42.       mandel.obj remote.obj calc.obj mandel.rbj $(guilibsdll)
  43. client.exe: mandel.obj remote.obj mandel.def mandel.rbj mdlrpc_c.obj
  44.     $(link) $(linkdebug) $(guiflags) -out:client.exe -map:client.map 
  45.       mandel.obj remote.obj mdlrpc_c.obj 
  46.       mandel.rbj rpcrt4.lib $(guilibsdll)
  47. server.exe: server.obj calc.obj mdlrpc_s.obj
  48.     $(link) $(linkdebug) $(conflags) -out:server.exe -map:server.map 
  49.       server.obj calc.obj mdlrpc_s.obj 
  50.       rpcrt4.lib $(conlibsdll)
  51. # Update the resource if necessary
  52. mandel.rbj: mandel.rc mandel.h
  53.     rc -r mandel.rc
  54.     cvtres -$(CPU) mandel.res -o mandel.rbj
  55. # Object file dependencies
  56. # server only built for RPC version; always needs mdlrpc.h
  57. server.obj: server.c mandel.h mdlrpc.h
  58. # Compile differently for RPC, standalone versions
  59. !ifndef NOTRPC
  60. mandel.obj: mandel.c mandel.h mdlrpc.h
  61. remote.obj: remote.c mandel.h mdlrpc.h
  62. calc.obj  : calc.c mandel.h mdlrpc.h
  63. !else
  64. mandel.obj: mandel.c mandel.h
  65. remote.obj: remote.c mandel.h
  66. calc.obj  : calc.c mandel.h
  67. !endif
  68. # client stub
  69. mdlrpc_c.obj : mdlrpc_c.c mdlrpc.h
  70. # server stub file
  71. mdlrpc_s.obj : mdlrpc_s.c mdlrpc.h
  72. # Stubs and header file from the IDL file
  73. mdlrpc.h mdlrpc_c.c mdlrpc_s.c: mdlrpc.idl mdlrpc.acf
  74.     midl -oldnames -cpp_cmd $(cc) -cpp_opt "-E" mdlrpc.idl
  75. clean:
  76.     -del client.exe
  77.     -del server.exe
  78.     -del mandel.exe
  79. cleanall:  clean
  80.     -del *.obj
  81.     -del *.map
  82.     -del *.res
  83.     -del *.rbj
  84.     -del mdlrpc_*.c
  85.     -del mdlrpc.h