home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / oleaut / spoly / makefile < prev    next >
Makefile  |  1997-11-19  |  4KB  |  209 lines

  1. ##############################################################################
  2. #
  3. #  (c) Copyright Microsoft Corp. 1992-1993 All Rights Reserved
  4. #
  5. #  File:
  6. #
  7. #    makefile - makefile for spoly.exe
  8. #
  9. #  Purpose:
  10. #
  11. #    Builds the OLE 2.0 sample IDispatch server, spoly.exe.
  12. #
  13. #
  14. #  Usage:
  15. #
  16. #     NMAKE                     ; build with defaults
  17. #     or: NMAKE option          ; build with the given option(s)
  18. #     or: NMAKE clean           ; erase all compiled files
  19. #
  20. #     option:
  21. #         dev = [win16 | win32] ; dev=win32 is the default
  22. #         DEBUG=[0|1]           ; DEBUG=1 is the default
  23. #
  24. #  Notes:
  25. #
  26. #    This makefile assumes that the PATH, INCLUDE and LIB environment
  27. #    variables are setup properly.
  28. #
  29. ##############################################################################
  30.  
  31.  
  32.  
  33. ##########################################################################
  34. #
  35. # Default Settings
  36. #
  37.  
  38. !if "$(dev)" == ""
  39. dev = win32
  40. !endif
  41.  
  42. !if !("$(dev)" == "win16" || "$(dev)" == "win32")
  43. !error Invalid dev option, choose from [win16 | win32]
  44. !endif
  45.  
  46. !if "$(dev)" == "win16"
  47. TARGET  = WIN16
  48. !endif
  49.  
  50. !if "$(dev)" == "win32"
  51. TARGET  = WIN32
  52. !endif
  53.  
  54. !ifdef NODEBUG
  55. DEBUG = 0
  56. !endif
  57.  
  58. !if "$(DEBUG)" == "0"
  59. NODEBUG = 1
  60. !endif
  61.  
  62. !if "$(DEBUG)" == ""
  63. DEBUG = 1
  64. !endif
  65.  
  66.  
  67. ##########################################################################
  68. #
  69. # WIN16 Settings
  70. #
  71. !if "$(TARGET)" == "WIN16"
  72.  
  73. CC   = cl
  74. LINK = link
  75.  
  76. RCFLAGS = -dWIN16
  77. CFLAGS = -c -W3 -AM -GA -GEs -DWIN16
  78. LINKFLAGS = /NOD /NOI /BATCH /ONERROR:NOEXE
  79.  
  80. LIBS = libw.lib mlibcew.lib
  81.  
  82. !if "$(DEBUG)" == "1"
  83. CFLAGS = $(CFLAGS) -Od -Zi -D_DEBUG $(CL)
  84. LINKFLAGS = $(LINKFLAGS) /COD
  85. !else
  86. CFLAGS = $(CFLAGS) -Ox $(CL)
  87. LINKFLAGS = $(LINKFLAGS) /FAR /PACKC
  88. !endif
  89. !endif
  90.  
  91.  
  92. ##########################################################################
  93. #
  94. # WIN32 Settings
  95. #
  96. !if "$(TARGET)" == "WIN32"
  97.  
  98. !include <olesampl.mak>
  99.  
  100. CC = $(cc)
  101. CFLAGS = $(cflags) $(cvarsmt)  $(cdebug)
  102.  
  103. !ifndef NODEBUG
  104. CFLAGS = $(CFLAGS) -D_DEBUG
  105. !endif
  106.  
  107. LINK = $(link)
  108. LINKFLAGS = $(linkdebug) $(guilflags)
  109. RCFLAGS = -DWIN32
  110.  
  111. !endif
  112.  
  113.  
  114. ##########################################################################
  115. #
  116. # Application Settings
  117. #
  118.  
  119. !if "$(TARGET)" == "WIN16"
  120. LIBS = ole2.lib compobj.lib ole2disp.lib ole2nls.lib $(LIBS)
  121. !else
  122. !if "$(TARGET)" == "WIN32"
  123. LIBS = $(olelibsmt)
  124. !endif
  125. !endif
  126.  
  127. OBJS = \
  128.         winmain.obj     \
  129.         cpoly.obj       \
  130.         cpoint.obj      \
  131.         cenumpt.obj     \
  132.         statbar.obj     \
  133.         clsid.obj       \
  134.         misc.obj
  135.  
  136.  
  137. goal : setflags spoly.exe
  138.  
  139. setflags :
  140.         set CL=$(CFLAGS)
  141.  
  142. clean :
  143.     if exist *.obj       del *.obj
  144.     if exist spoly.exe del spoly.exe
  145.     if exist spoly.map del spoly.map
  146.     if exist spoly.res del spoly.res
  147.     if exist *.pdb       del *.pdb
  148.  
  149.  
  150. ##########################################################################
  151. #
  152. # Application Build (WIN16 Specific)
  153. #
  154.  
  155. !if "$(TARGET)" == "WIN16"
  156.  
  157. spoly.exe : $(OBJS) spoly.def spoly.res spoly.ico
  158.         link $(LINKFLAGS) @<<
  159. $(OBJS),
  160. $@,,
  161. $(LIBS),
  162. spoly.def
  163. <<
  164.         rc -k -t spoly.res $@
  165. !endif
  166.  
  167.  
  168. ##########################################################################
  169. #
  170. # Application Build (WIN32 Specific)
  171. #
  172. !if "$(TARGET)" == "WIN32"
  173.  
  174. spoly.exe : $(OBJS) spoly.def spoly.res spoly.ico
  175.       $(LINK) @<<
  176.         $(LINKFLAGS)
  177.         -out:$@
  178.         -map:$*.map
  179.         $(OBJS)
  180.         spoly.res
  181.         $(LIBS)
  182. <<
  183. !endif
  184.  
  185.  
  186. spoly.res : spoly.rc resource.h
  187.         rc $(RCFLAGS) -r -fo$@ spoly.rc
  188.  
  189. winmain.obj: winmain.cpp hostenv.h resource.h spoly.h cpoint.h cpoly.h statbar.h
  190.         $(CC) winmain.cpp
  191.  
  192. cpoint.obj: cpoint.cpp cpoint.h hostenv.h spoly.h statbar.h
  193.         $(CC) cpoint.cpp
  194.  
  195. cpoly.obj: cpoly.cpp cpoint.h cpoly.h hostenv.h spoly.h statbar.h
  196.         $(CC) cpoly.cpp
  197.  
  198. clsid.obj: clsid.c clsid.h
  199.         $(CC) clsid.c
  200.  
  201. cenumpt.obj: cenumpt.cpp cenumpt.h
  202.         $(CC) cenumpt.cpp
  203.  
  204. statbar.obj: statbar.cpp statbar.h
  205.         $(CC) statbar.cpp
  206.  
  207. misc.obj: misc.cpp hostenv.h spoly.h
  208.         $(CC) misc.cpp
  209.