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

Windows编程

开发平台:

Visual C++

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