bfcdll.mak 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. # BFCDLL.MAK - Borland makefile for BFC42*.DLL
  2. #
  3. # BFC42[D].DLL is a DLL
  4. # which exports all the MFC classes
  5. #
  6. # Default to No Debug Info mode
  7. !ifndef DBGINFO
  8. DBGINFO=0
  9. !endif
  10. !ifndef LIBNAME
  11. LIBNAME=BFC42
  12. !endif
  13. !if "$(DEBUG)" != "0"
  14. CRTDLL=CW32MTI.lib
  15. !else
  16. CRTDLL=CW32MTI.lib
  17. !endif
  18. !if "$(CG)" == "1"
  19. CGLIB=cg32.lib
  20. !else
  21. CGLIB=
  22. !endif
  23. TARGET=w
  24. DLL=2
  25. TARGDEFS=/D_AFX_CORE_IMPL
  26. LFLAGS= /n /m /s $(LFLAGS)
  27. RCFLAGS=-I$(BCINCL);$(MFCINCL)
  28. !if "$(DBGINFO)" != "0"
  29. LFLAGS=$(LFLAGS) /v
  30. !endif
  31. !if "$(DEBUG)" != "0"
  32. # Debug DLL build
  33. TARGTYPE=$(TARGTYPE)D
  34. RCDEFINES=$(RCDEFINES) /D_DEBUG
  35. !ifndef MONOLITHIC
  36. MONOLITHIC=0
  37. !endif
  38. !ELSE
  39. # Release DLL build
  40. RCDEFINES=$(RCDEFINES)
  41. LFLAGS=$(LFLAGS)
  42. !ifndef MONOLITHIC
  43. MONOLITHIC=1
  44. !endif
  45. !ENDIF
  46. !if "$(MONOLITHIC)" == "1"
  47. TARGDEFS=$(TARGDEFS) -D_AFX_OLE_IMPL -D_AFX_DB_IMPL -D_AFX_NET_IMPL
  48. RCDEFINES=$(RCDEFINES) /D_AFX_MONOLITHIC
  49. !endif
  50. CFNAME=$(LIBNAME)$(TARGTYPE)
  51. TARG=$(LIBNAME)$(PF)$(TARGTYPE)
  52. TARG_STATIC=BFCS42$(PF)$(TARGTYPE)
  53. DEFFILE=$(PLATFORM)\$(TARG).DEF
  54. !ifdef RELEASE # Release VERSION info
  55. RCDEFINES=$(RCDEFINES) /DRELEASE
  56. !endif
  57. LFLAGS=$(LFLAGS) /Tpd
  58. bfcdll_goal: dll_goal
  59. #############################################################################
  60. # import most rules and library files from normal makefile
  61. !include borland.mak
  62. dll_goal: create.dir create.rsp \
  63. $(TARG).dll $(LIBDIR)\$(TARG).lib $(LIBDIR)\$(TARG_STATIC).lib
  64. #############################################################################
  65. # more flags and switches and libs
  66. LFLAGS=$(LFLAGS)
  67. LIBS=$(CGLIB) $(CRTDLL) $(IMPORT_LIBS) ole2w32.lib
  68. #############################################################################
  69. STATICLINK_OBJS= stdafx.obj nolib.obj appmodul.obj dllmodul.obj oleexp.obj
  70. PCH_STATIC_CMD=-Hc -H\"stdafx.h\" -H=$(D)\stdafxs.csm
  71. CPPFLAGS_STATIC=$(CL_MODEL) $(CL_OPT) $(DEFS) $(OPT) $(EH) $(PCH_STATIC_CMD)
  72. stdafx.obj:
  73. $(CC) /c $(CPPFLAGS_STATIC) -I$(BCINCL);$(MFCINCL) { $(STATICLINK_OBJS:.obj=.cpp) }
  74. nolib.obj: stdafx.obj
  75. @
  76. appmodul.obj: stdafx.obj
  77. @
  78. dllmodul.obj: stdafx.obj
  79. @
  80. oleexp.obj: stdafx.obj
  81. @
  82. #############################################################################
  83. # Build target
  84. $(D)\$(TARG).res: mfcdll.rc build_.h
  85. brcc32 /r $(RCFLAGS) $(RCDEFINES) /fo $(D)\$(TARG).res mfcdll.rc
  86. DLL_OBJS=$(OBJECT) $(OBJDIAG) $(INLINES) $(FILES) $(COLL1) $(COLL2) $(MISC) \
  87. $(WINDOWS) $(DIALOG) $(WINMISC) $(DOCVIEW) $(APPLICATION) $(OLEREQ) \
  88. $(INTERNET)
  89. !if "$(MONOLITHIC)" == "1"
  90. DLL_OBJS=$(DLL_OBJS) $(SOCKETS) $(OLEDLL) $(DAO) $(DB)
  91. !else
  92. #
  93. # BORLAND fix: need to link with occcont.obj since a needed destructor is in there
  94. DLL_OBJS= $(DLL_OBJS) occstub.obj
  95. #
  96. #
  97. !endif
  98. DLL_OBJS=$(DLL_OBJS) dllinit.obj bormem.obj
  99. DLL_RESOURCES=$(D)\$(TARG).res
  100. $(DEFFILE): $(DLL_OBJS)
  101. !if $d(INTEGRATION_BUILD)
  102. $(GENDEFS) $(TARG) $(D)\ > $(DEFFILE)
  103. !else
  104. @echo End-user build, so DEF files are already created
  105. !endif
  106. $(TARG).dll:: $(DEFFILE) $(DLL_RESOURCES)
  107. $(TARG).dll:: $(DLL_OBJS)
  108. $(LINK32) @&&!
  109. $(LFLAGS) +
  110. C0D32.OBJ +
  111. $(**: = +^
  112. )
  113. $(TARG).DLL
  114. $(D)\$(TARG).MAP
  115. $(LIBS)
  116. $(DEFFILE)
  117. $(DLL_RESOURCES)
  118. !
  119. $(LIBDIR)\$(TARG).lib: $(TARG).dll
  120. implib $(LIBDIR)\$(TARG).lib $(TARG).DLL
  121. $(LIBDIR)\$(TARG_STATIC).lib: $(STATICLINK_OBJS)
  122. $(LIB32) $@ /P4096 @&&!
  123. +-$(**: = &^
  124. +-)
  125. !
  126. #############################################################################