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

Windows编程

开发平台:

Visual C++

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