home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / MFC / SRC / MFCDLL.MA_ / MFCDLL.MA
Encoding:
Text File  |  1993-02-08  |  3.4 KB  |  128 lines

  1. # This is a part of the Microsoft Foundation Classes C++ library.
  2. # Copyright (C) 1992 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 Microsoft
  7. # QuickHelp documentation provided with the library.
  8. # See these sources for detailed information regarding the
  9. # Microsoft Foundation Classes product.
  10. #
  11.  
  12. # MFC200[D].DLL is a large model DLL built with MFC large model [debug] DLL
  13. #  which exports all the MFC classes
  14. # If you need a private build of the MFC DLL, be sure to rename
  15. #  "MFC200.DLL" to something more appropriate for you application.
  16. # Please do not re-distribute a privately built version with the
  17. #  name "MFC200.DLL".
  18.  
  19.  
  20. MODEL=l
  21. TARGET=w
  22. DLL=2
  23. TARG=MFC200
  24.  
  25. LFLAGS=/NOD /NOE /ONERROR:NOEXE /PACKDATA /NOPACKCODE
  26. # /NOPACKCODE => keep MFC library segmentation
  27.  
  28. !if "$(DEBUG)"!="0"
  29. # Debug DLL build
  30. TARG=$(TARG)D
  31. OBJ=$$DLLD
  32. OBJ_LIB=$$DLLD.LIB
  33. AFXDLL_OBJ=afxdlld.obj
  34. RCDEFINES=/D_DEBUG
  35. CODEVIEW=1
  36. LFLAGS=$(LFLAGS) /CODEVIEW
  37.  
  38. !ELSE
  39. # Release DLL build
  40. OBJ=$$DLL
  41. OBJ_LIB=$$DLL.LIB
  42. AFXDLL_OBJ=afxdll.obj
  43. RCDEFINES=
  44. CODEVIEW=0
  45. !ENDIF
  46.  
  47. !ifdef RELEASE # Release VERSION info
  48. RCDEFINES=$(RCDEFINES) /DRELEASE
  49. !endif
  50.  
  51. dll_goal: create2.dir $(TARG).dll ..\lib\$(TARG).lib
  52.  
  53. #############################################################################
  54. # import most rules and library files from normal makefile
  55.  
  56. !include makefile
  57.  
  58. create2.dir:
  59.     @-if not exist $(OBJ)\*.* mkdir $(OBJ)
  60.     @-if not exist $(OBJ_LIB)\*.* mkdir $(OBJ_LIB)
  61.  
  62. #############################################################################
  63. # Debug target
  64.  
  65. $D\$(TARG).res: mfcdll.rc
  66.     rc /r $(RCDEFINES) /fo $D\$(TARG).res mfcdll.rc
  67.  
  68. DLL_OBJS=$(OBJECT) $(INLINES) $(FILES) $(COLLECTIONS1) $(COLLECTIONS2) $(MISC) \
  69.     $(WINDOWS) $(DIALOG) $(WINMISC) $(DOCVIEW) $(APPLICATION) $(VBX_OBJ) $(OLE)
  70.  
  71. $(TARG).dll: $(DLL_OBJS) $D\dllinit.obj $(TARG).def $D\$(TARG).res
  72.     link $(LFLAGS) @<<
  73. $D\dllinit.obj+
  74. $(OBJECT)+
  75. $(INLINES)+
  76. $(FILES)+
  77. $(COLLECTIONS1)+
  78. $(COLLECTIONS2)+
  79. $(MISC)+
  80. $(WINDOWS)+
  81. $(DIALOG)+
  82. $(WINMISC)+
  83. $(DOCVIEW)+
  84. $(APPLICATION)+
  85. $(VBX_OBJ)+
  86. $(OLE),
  87. $(TARG).dll,
  88. $D\$(TARG).map/MAP:ADDRESS,
  89. ldllcew libw commdlg shell olecli olesvr,
  90. $(TARG).def;
  91. <<
  92.     rc /31 /t $D\$(TARG).res $(TARG).dll
  93.  
  94. #############################################################################
  95. # Special rules for building static linked library part
  96.  
  97. # NonShared diagnostics and other hooks (see OBJDIAG in MAKEFILE)
  98. SLIB_OBJ= $(OBJ_LIB)\dumpinit.obj $(OBJ_LIB)\dumpout.obj \
  99.     $(OBJ_LIB)\afxasert.obj $(OBJ_LIB)\afxmem.obj $(OBJ_LIB)\afxabort.obj
  100.  
  101. # _AFXDLL defined (but not _WINDLL)
  102. TARGOPTS_LIB=/GA /GEf /GEs /G2
  103. CPPFLAGS_LIB=$(CL_MODEL) /W3 /WX /Zp $(TARGOPTS_LIB) $(DEFS) $(OPT)
  104.  
  105. .cpp{$(OBJ_LIB)}.obj:
  106.     $(CPP) @<<
  107. $(CPPFLAGS_LIB) /c /Fo$(OBJ_LIB)\ $<
  108. <<
  109.  
  110. # AFXDLL.OBJ and AFXDLLD.OBJ are pre-built using the following MASM rules
  111. # afxdll.obj: afxdll.asm
  112. #     masm /Mx afxdll.asm,afxdll.obj;
  113. # afxdlld.obj: afxdll.asm
  114. #     masm /Mx /D_DEBUG afxdll.asm,afxdlld.obj;
  115.  
  116. # import library
  117. ..\lib\$(TARG).lib: $(TARG).def $(AFXDLL_OBJ) $(SLIB_OBJ)
  118.     implib ..\lib\$(TARG).lib $(TARG).def
  119.     lib /NOEXT/PAGESIZE:16 @<<
  120. ..\lib\$(TARG).lib
  121. $(AFXDLL_OBJ)&
  122. $(SLIB_OBJ)
  123. ;
  124. <<
  125.     erase ..\lib\$(TARG).bak
  126.  
  127. #############################################################################
  128.