home *** CD-ROM | disk | FTP | other *** search
/ Supercompiler 1997 / SUPERCOMPILER97.iso / MS_VC.50 / VC / MFC / SRC / MFCOLE.MAK < prev    next >
Encoding:
Text File  |  1996-12-03  |  4.7 KB  |  201 lines

  1. # This is a part of the Microsoft Foundation Classes C++ library.
  2. # Copyright (C) 1992-1997 Microsoft Corporation
  3. # All rights reserved.
  4. #
  5. # This source code is only intended as a supplement to the
  6. # Microsoft Foundation Classes Reference and related
  7. # electronic documentation provided with the library.
  8. # See these sources for detailed information regarding the
  9. # Microsoft Foundation Classes product.
  10.  
  11. # MFCO42[D].DLL is a DLL
  12. #  which exports all the MFC/OLE classes
  13. #
  14. # If you need a private build of the MFC OLE DLL, be sure to rename
  15. #  "MFCO42.DLL" to something more appropriate for you application.
  16. # Please do not re-distribute a privately built version with the
  17. #  name "MFCO42.DLL".
  18. #
  19. # Use nmake /f mfcole.mak LIBNAME=<my name> to do this.
  20. #
  21. # Note: LIBNAME must be 6 characters or less.
  22.  
  23. !ifndef LIBNAME
  24. !error LIBNAME is not defined. LIBNAME=MFCO42 builds the prebuilt DLL.
  25. !endif
  26.  
  27. !if "$(DEBUG)" != "0"
  28. CRTDLL=msvcrtd.lib
  29. !else
  30. CRTDLL=msvcrt.lib
  31. !endif
  32.  
  33. TARGET=w
  34. DLL=2
  35. TARG=$(LIBNAME)
  36. TARGDEFS=/D_AFX_OLE_IMPL
  37. MFCDLL=MFC42
  38. LFLAGS=/nodefaultlib
  39.  
  40. !if "$(PLATFORM)" == "M68K"
  41. TARG=$(TARG)M
  42. MFCDLL=MFC42M
  43. MACOS=1
  44. !elseif "$(PLATFORM)" == "MPPC"
  45. TARG=$(TARG)P
  46. MFCDLL=MFC42P
  47. MACOS=1
  48. !endif
  49.  
  50. !if "$(UNICODE)" == "1"
  51. TARG=$(TARG)U
  52. MFCDLL=$(MFCDLL)U
  53. !endif
  54.  
  55. !if "$(DEBUG)" != "0"
  56. # Debug DLL build
  57. RCDEFINES=/D_DEBUG
  58. LFLAGS=$(LFLAGS)
  59. PCH_FILE=$D\stdafxo.pch
  60. PCH_CPP=dllole
  61. TARG=$(TARG)D
  62. MFCDLL=$(MFCDLL)D
  63.  
  64. !ELSE
  65. # Release DLL build
  66. RCDEFINES=
  67. LFLAGS=$(LFLAGS)
  68. PCH_FILE=$D\stdafxo.pch
  69. PCH_CPP=dllole
  70. !ENDIF
  71.  
  72. DEFFILE=$(PLATFORM)\$(TARG).DEF
  73.  
  74. MFCDLL=..\lib\$(MFCDLL).lib
  75.  
  76. !if "$(DEBUGTYPE)" == ""
  77. DEBUGTYPE=cv
  78. !endif
  79.  
  80. !if "$(CODEVIEW)" != "0"
  81. !if "$(REGEN)" != "1"
  82. LFLAGS=$(LFLAGS) /debug:full /debugtype:$(DEBUGTYPE)
  83. !else
  84. LFLAGS=$(LFLAGS) /debug:none
  85. !endif
  86. !if "$(NO_PDB)" != "1" && "$(REGEN)" != "1"
  87. LFLAGS=$(LFLAGS) /pdb:$(TARG).pdb
  88. !else
  89. LFLAGS=$(LFLAGS) /pdb:none
  90. !endif
  91. !else
  92. LFLAGS=$(LFLAGS) /debug:none /incremental:no
  93. !endif
  94.  
  95. !ifdef RELEASE # Release VERSION info
  96. RCDEFINES=$(RCDEFINES) /DRELEASE
  97. LFLAGS=$(LFLAGS) /release
  98. !endif
  99.  
  100. LFLAGS=$(LFLAGS) /dll
  101.  
  102. # OPT:noref keeps unreferenced functions (ie. no dead-code elimination)
  103. !if "$(REGEN)" == "1"
  104. LFLAGS=$(LFLAGS) /opt:noref
  105. !else
  106. LFLAGS=$(LFLAGS) /opt:ref
  107. !endif
  108.  
  109. !ifndef MACOS
  110. LFLAGS=$(LFLAGS) /version:4.2 /base:0x5F500000
  111. LIBS=$(MFCDLL) $(CRTDLL) kernel32.lib gdi32.lib user32.lib uuid.lib
  112. !else
  113.  
  114. !if "$(BASE)" == "M68K"
  115. !error DLL build is not supported for 68K Macintosh
  116. !endif
  117.  
  118. !if "$(DEBUG)" != "0"
  119. LFLAGS=$(LFLAGS) /mac:nomfilepad /nodefaultlib:msvcoled.lib /nodefaultlib:ole2d.lib /nodefaultlib:ole2.lib
  120. !else
  121. LFLAGS=$(LFLAGS) /mac:nomfilepad /nodefaultlib:msvcole.lib /nodefaultlib:ole2.lib
  122. !endif
  123.  
  124. RCFLAGS=$(RCFLAGS) /m
  125.  
  126. !if "$(DEBUG)" != "0"
  127. LIBS=msvcwlmd.lib
  128. !else
  129. LIBS=msvcwlm.lib
  130. !endif
  131. LIBS=uuid.lib $(MFCDLL) $(CRTDLL) $(LIBS) interfac.lib
  132. !endif
  133.  
  134. !if "$(ORDER)" == "1"
  135. !if exist($(PLATFORM)\$(TARG).prf)
  136. DEFS=$(DEFS) /D_AFX_FUNCTION_ORDER
  137. LFLAGS=$(LFLAGS) /order:@$(PLATFORM)\$(TARG).prf
  138. !endif
  139. !endif
  140.  
  141. dll_goal: create2.dir $(TARG).dll ..\lib\$(TARG).lib
  142.  
  143. #############################################################################
  144. # import most rules and library files from normal makefile
  145.  
  146. !include makefile
  147.  
  148. create2.dir:
  149.     @-if not exist $D\*.* mkdir $D
  150.  
  151. #############################################################################
  152. # Build target
  153.  
  154. $D\$(TARG).res: mfcole.rc build_.h
  155.     rc /r $(RCFLAGS) $(RCDEFINES) /fo $D\$(TARG).res mfcole.rc
  156. !ifdef MACOS
  157.     mrc /DRESFILE=\"$@\" /o $@ attribut.r
  158. !endif
  159.  
  160. $D\$(TARG).rsc: mfcdll.r
  161. !if "$(DEBUG)" == "0"
  162.     mrc /DARCHITECTURE=$(MACOS_ARCH) /DLIBNAME=\"MicrosoftMFCO42Lib\" \
  163. #       /DCURRENTVER=0x04008000 /DOLDDEFVER=0x04008000 \
  164.         /DCURRENTVER=0          /DOLDDEFVER=0          \
  165.         /DJDATE=$(JULIAN) -DJDATESTR=\"$(JULIAN)\" /o $D\$(TARG).rsc mfcdll.r
  166. !else
  167.     mrc /DARCHITECTURE=$(MACOS_ARCH) /DLIBNAME=\"MicrosoftMFCO42DLib\" \
  168. #       /DCURRENTVER=0x04008000 /DOLDDEFVER=0x04008000 \
  169.         /DCURRENTVER=0          /DOLDDEFVER=0          \
  170.         /DJDATE=$(JULIAN) -DJDATESTR=\"$(JULIAN)\" /o $D\$(TARG).rsc mfcdll.r
  171. !endif
  172.  
  173. DLL_OBJS=$(OLEDLL)
  174.  
  175. !ifdef MACOS
  176. MRC_RESOURCES=$D\$(TARG).rsc
  177. !else
  178. MRC_RESOURCES=
  179. !endif
  180.  
  181. $(TARG).dll ..\lib\$(TARG).lib: $D\$(PCH_CPP).obj $(DLL_OBJS) $(DEFFILE) $D\$(TARG).res $(MRC_RESOURCES)
  182.     link @<<
  183. $(LFLAGS)
  184. $(LIBS)
  185. $D\$(PCH_CPP).obj
  186. $(DLL_OBJS)
  187. $D\$(TARG).res
  188. /def:$(DEFFILE)
  189. /out:$(TARG).DLL
  190. /map:$D\$(TARG).MAP
  191. /implib:..\lib\$(TARG).LIB
  192. !ifdef MACOS
  193. /mac:type=shlb /mac:creator=cfmg
  194. /mac:init=WlmConnectionInit
  195. $D\$(TARG).rsc
  196. !endif
  197. <<
  198.     if exist ..\lib\$(TARG).exp del ..\lib\$(TARG).exp
  199.  
  200. #############################################################################
  201.