home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / MAKEFILE < prev    next >
Text File  |  1997-01-16  |  7KB  |  317 lines

  1. #-----------------------------------------------------------------------------
  2. # MAKEFILE for VCL Library
  3. #
  4. # $Revision:   1.2  $
  5. # $Author:   BBABET  $
  6. # $Date:   16 Dec 1996 12:38:18  $
  7. #
  8. # Defines:
  9. #   DEBUG        enables debug info for debuggers
  10. #
  11. # Define these for alternate VCL build directories:
  12. #   VCLSRCDIR    defaults to: $(BCB)\source\vcl
  13. #   VCLINCDIR    defaults to: $(BCB)\include\vcl
  14. #   VCLLIBDIR    defaults to: $(BCB)\lib
  15. #   VCLBINDIR    defaults to: $(BCB)\bin
  16. #-----------------------------------------------------------------------------
  17. .autodepend
  18. .cacheautodepend
  19. .swap
  20.  
  21. #--------------------------------------------------------------------
  22. # Dir & search paths, & precompiled headers
  23. #--------------------------------------------------------------------
  24. # BCB tools directory - Based on MAKEDIR if no BCB is defined
  25. #
  26. !if !$d(BCB)
  27.  BCB=$(MAKEDIR)\..
  28. !endif
  29.  
  30. # Where to find BCB tools, libraries and include files
  31. #
  32. BCBSRCDIR = $(BCB)\source
  33. BCBINCDIR = $(BCB)\include
  34. BCBOBJDIR = $(BCB)\lib\obj
  35. BCBLIBDIR = $(BCB)\lib
  36. BCBBINDIR = $(BCB)\bin
  37.  
  38. # Where to find VCL dirs-- can set these for special layouts
  39. # Build search paths differently if VCL include dir is not below BC's
  40. #
  41. !if !$d(VCLSRCDIR)
  42.   VCLSRCDIR = $(BCBSRCDIR)\vcl
  43. !endif
  44. !if !$d(VCLINCDIR)
  45.   VCLINCDIR = $(BCBINCDIR)\vcl
  46. !endif
  47. !if !$d(VCLOBJDIR)
  48.   VCLOBJDIR = $(BCBLIBDIR)\obj
  49. !endif
  50. !if !$d(VCLRESDIR)
  51.   VCLRESDIR = $(BCBLIBDIR)\obj
  52. !endif
  53. !if !$d(VCLLIBDIR)
  54.   VCLLIBDIR = $(BCBLIBDIR)
  55. !endif
  56.  
  57. #--------------------------------------------------------------------
  58. # Paths 
  59. #--------------------------------------------------------------------
  60. .PATH.obj = $(VCLOBJDIR)
  61. .PATH.res = $(VCLRESDIR)
  62. .PATH.lib = $(VCLLIBDIR)
  63. .PATH.cpp = $(VCLSRCDIR)
  64. .PATH.pas = $(VCLSRCDIR)
  65.  
  66. #--------------------------------------------------------------------
  67. # Library names
  68. #--------------------------------------------------------------------
  69. !if !$d(VCLNAME)
  70.  VCLNAME=VCL
  71. !endif
  72. !if $d(DEBUG)
  73.  VCLNAME=$(VCLNAME)d
  74. !endif
  75.  
  76. #--------------------------------------------------------------------
  77. # Build options
  78. #--------------------------------------------------------------------
  79. !if $d(DEBUG)
  80.   CDBG = -v -k -Od    # debug-info on, normal stack, no optimizations
  81. !endif
  82. CFLAGS   = -I$(VCLINCDIR);$(BCBINCDIR) -n$(VCLOBJDIR)\
  83.            -c -K -Vx -w+ -w-rvl -w-asm -x -w- \
  84.            -DPRONTO -DPRONTO_NAMESPACES
  85. LFLAGS   =
  86. PFLAGS   = -Jphnv -U$(VCLOBJDIR) -U$(VCLSRCDIR)  \
  87.            -R$(VCLOBJDIR) -NH$(VCLINCDIR) -NO$(VCLOBJDIR)\
  88.            -O$(VCLOBJDIR) \
  89.            -DPRONTO -DPRONTO_NAMESPACES \
  90.            -Q
  91. LIBFLAGS = 
  92.  
  93. #--------------------------------------------------------------------
  94. # Tools 
  95. #--------------------------------------------------------------------
  96. CC  = $(BCBBINDIR)\bcc32
  97. DCC = $(BCBBINDIR)\dcc32
  98. RCC = $(BCBBINDIR)\brcc32
  99. LINK= $(BCBBINDIR)\tlink32
  100. LIB = $(BCBBINDIR)\tlib
  101.  
  102. #--------------------------------------------------------------------
  103. # Configuration files
  104. #--------------------------------------------------------------------
  105. !if !$d(BCCCFGFILE)
  106.  BCCCFGFILE=bcc32.cfg
  107. !endif
  108. !if !$d(DCCCFGFILE)
  109.  DCCCFGFILE=dcc32.cfg
  110. !endif
  111.  
  112. #--------------------------------------------------------------------
  113. # Object modules part of VCL
  114. #--------------------------------------------------------------------
  115. VCLOBJ_CORE =\
  116. PFXbde.obj \
  117. PFXbuttons.obj \
  118. PFXcalendar.obj \
  119. PFXchartfx.obj \
  120. PFXclasscre.obj \
  121. PFXclasses.obj \
  122. PFXclipbrd.obj \
  123. PFXcolorgrd.obj \
  124. PFXcomctrls.obj \
  125. PFXcommctrl.obj \
  126. PFXcommdlg.obj \
  127. PFXcomstrs.obj \
  128. PFXconsts.obj \
  129. PFXcontrols.obj \
  130. PFXdb.obj \
  131. PFXdbcgrids.obj \
  132. PFXdbcombo.obj \
  133. PFXdbconsts.obj \
  134. PFXdbctrls.obj \
  135. PFXdbgrids.obj \
  136. PFXdblogdlg.obj \
  137. PFXdblookup.obj \
  138. PFXdbpwdlg.obj \
  139. PFXdbtables.obj \
  140. PFXddeman.obj \
  141. PFXddeml.obj \
  142. PFXdialogs.obj \
  143. PFXdiroutln.obj \
  144. PFXdsgnintf.obj \
  145. PFXextctrls.obj \
  146. PFXfilectrl.obj \
  147. PFXforms.obj \
  148. PFXfrmexprt.obj \
  149. PFXgauges.obj \
  150. PFXgraphics.obj \
  151. PFXgraphsvr.obj \
  152. PFXgrids.obj \
  153. PFXibctrls.obj \
  154. PFXibproc32.obj \
  155. PFXimm.obj \
  156. PFXinifiles.obj \
  157. PFXisp.obj \
  158. PFXlibhelp.obj \
  159. PFXmapi.obj \
  160. PFXmask.obj \
  161. PFXmath.obj \
  162. PFXmenus.obj \
  163. PFXmessages.obj \
  164. PFXmmsystem.obj \
  165. PFXmplayer.obj \
  166. PFXmtindlg.obj \
  167. PFXole2.obj \
  168. PFXoleauto.obj \
  169. PFXoleconst.obj \
  170. PFXolectl.obj \
  171. PFXolectnrs.obj \
  172. PFXolectrls.obj \
  173. PFXoledlg.obj \
  174. PFXoutline.obj \
  175. PFXprinters.obj \
  176. PFXqrconst.obj \
  177. PFXquickrep.obj \
  178. PFXregistry.obj \
  179. PFXreport.obj \
  180. PFXrichedit.obj \
  181. PFXsampreg.obj \
  182. PFXspin.obj \
  183. PFXstdctrls.obj \
  184. PFXsystem.obj \
  185. PFXsysutils.obj \
  186. PFXtabnotbk.obj \
  187. PFXtabs.obj \
  188. PFXtypinfo.obj \
  189. PFXvcfimprs.obj \
  190. PFXvcfrmla1.obj \
  191. PFXvcspell.obj \
  192. PFXwindows.obj \
  193. PFXwinspool.obj
  194.  
  195. VCLOBJ_EXTRA=\
  196. PFXcoledit.obj \
  197. PFXdataform.obj \
  198. PFXdatamodl.obj \
  199. PFXdbcoledt.obj \
  200. PFXdbedit.obj \
  201. PFXdbexcept.obj \
  202. PFXdbexpt.obj \
  203. PFXdbinpreq.obj \
  204. PFXdbreg.obj \
  205. PFXdbxctrl.obj \
  206. PFXdbxdrag.obj \
  207. PFXdbxplor.obj \
  208. PFXdbxtarg.obj \
  209. PFXddereg.obj \
  210. PFXdmform.obj \
  211. PFXdrintf.obj \
  212. PFXdrpctrls.obj \
  213. PFXdrtable.obj \
  214. PFXdsadd.obj \
  215. PFXdsattra.obj \
  216. PFXdsattrs.obj \
  217. PFXdsdefine.obj \
  218. PFXdsdesign.obj \
  219. PFXdsgnwnds.obj \
  220. PFXeditintf.obj \
  221. PFXexptintf.obj \
  222. PFXfileintf.obj \
  223. PFXfiltedit.obj \
  224. PFXfldlinks.obj \
  225. PFXformread.obj \
  226. PFXhctledit.obj \
  227. PFXibevnts.obj \
  228. PFXibreg.obj \
  229. PFXimglist.obj \
  230. PFXistreams.obj \
  231. PFXitemedit.obj \
  232. PFXixedit.obj \
  233. PFXlibconst.obj \
  234. PFXlibintf.obj \
  235. PFXlibmain.obj \
  236. PFXlinkredr.obj \
  237. PFXmaskprop.obj \
  238. PFXmasktext.obj \
  239. PFXmenutmpl.obj \
  240. PFXmnubuild.obj \
  241. PFXmnufile.obj \
  242. PFXmnuselct.obj \
  243. PFXmtdedlg.obj \
  244. PFXmtmisc.obj \
  245. PFXmtsvdlg.obj \
  246. PFXnodeedit.obj \
  247. PFXnotebreg.obj \
  248. PFXocxreg.obj \
  249. PFXolereg.obj \
  250. PFXpageedit.obj \
  251. PFXpageinfo.obj \
  252. PFXparamdlg.obj \
  253. PFXpicedit.obj \
  254. PFXprocdlg.obj \
  255. PFXproxies.obj \
  256. PFXqbe.obj \
  257. PFXqbinddlg.obj \
  258. PFXsbaredit.obj \
  259. PFXsharemem.obj \
  260. PFXstdreg.obj \
  261. PFXstfilsys.obj \
  262. PFXstredit.obj \
  263. PFXsysreg.obj \
  264. PFXtoolintf.obj \
  265. PFXupdate.obj \
  266. PFXupdsqled.obj \
  267. PFXvirtfile.obj \
  268. PFXvirtintf.obj \
  269. PFXwin31reg.obj \
  270. PFXzdcl.obj \
  271. PFXzsrv.obj \
  272. PFXzvcl.obj 
  273.  
  274. CPPOBJ=\
  275. PFXdstring.obj \
  276. PFXvariant.obj 
  277.  
  278. LIBDEPOBJS = $(VCLOBJ_CORE:PFX=)  $(VCLOBJ_EXTRA:PFX=)  $(CPPOBJ:PFX=)
  279. LIBOBJS    = $(VCLOBJ_CORE:PFX=+) $(VCLOBJ_EXTRA:PFX=+) $(CPPOBJ:PFX:+)
  280.  
  281. #--------------------------------------------------------------------
  282. # Rules for building modules
  283. #--------------------------------------------------------------------
  284. target: $(BCCCFGFILE) $(DCCCFGFILE) $(VCLNAME).lib
  285.  
  286. $(VCLNAME).lib : $(LIBDEPOBJS) MODIFY_VCL_HEADERS
  287.   @cd $(VCLOBJDIR)
  288.   $(LIB) $(LIBFLAGS) $(VCLNAME).lib @&&|
  289. $(LIBOBJS)
  290. |
  291.   @cd $(VCLSRCDIR)
  292.  
  293. MODIFY_VCL_HEADERS:
  294.  perl $(VCLSRCDIR)\xlatvcl.pl $(VCLSRCDIR)\xlatinfo $(VCLINCDIR)
  295.  
  296. dstring.obj : MODIFY_VCL_HEADERS
  297.  
  298. variant.obj : MODIFY_VCL_HEADERS
  299.  
  300. $(BCCCFGFILE):
  301.  copy &&|
  302. $(CFLAGS)
  303. | $(BCCCFGFILE)
  304.  
  305.  
  306. $(DCCCFGFILE):
  307.  copy &&|
  308. $(PFLAGS)
  309. | $(DCCCFGFILE)
  310.  
  311.  
  312. .pas.obj:
  313.  $(DCC) {$< }
  314.  
  315. .cpp.obj:
  316.  $(CC) {$< }
  317.