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

Windows编程

开发平台:

Visual C++

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