home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c083 / 11.ddi / OWLSRC.PAK / MAKEFILE < prev    next >
Encoding:
Text File  |  1993-12-02  |  22.6 KB  |  923 lines

  1. #-----------------------------------------------------------------------------
  2. # ObjectWindows - (C) Copyright 1991, 1993 by Borland International
  3. #
  4. # MAKEFILE for ObjectWindows Libraries
  5. #
  6. # Defines:
  7. #   MODEL=<d|s|m|l|f>   one of: dll(default), small, medium, large or flat
  8. #   WIN32        enables win32 static (flat) or DLL
  9. #   DIAGS        enables runtime diagnostic library (adds 'd' to lib name)
  10. #   DEBUG        enables debug info for TDW & TD32
  11. #   NOOWLPCH     disables precompiled headers for owl
  12. #   OWLSECTION   enables sectioning of sources into multiple small objs
  13. #   OWLNAME=Xxx  lib & DLL name base, Defaults to 'Owl'. Req. for non-diag DLLs
  14. #   OWLVER=nnn   version for Owl DLL. Defaults to 200. Req. for non-diag DLLs
  15. #
  16. # Define these for alternate owl build directories:
  17. #   OWLSRCDIR    defaults to: $(BCROOT)\source\owl
  18. #   OWLINCDIR    defaults to: $(BCROOT)\include
  19. #   OWLLIBDIR    defaults to: $(BCROOT)\lib
  20. #   OWLBINDIR    defaults to: $(BCROOT)\bin
  21. #
  22. # Standard builds:
  23. #   make MODEL=s -DOWLSECTION            small model library (owlws.lib)
  24. #   make MODEL=m -DOWLSECTION            medium model library (owlwm.lib)
  25. #   make MODEL=l -DOWLSECTION            large model library (owlwl.lib)
  26. #   make OWLNAME=Owl OWLVER=200          16bit DLL (owlwi.lib & owl200.dll)
  27. #   make -DWIN32 -DOWLSECTION            32bit flat model library (owlwf.lib)
  28. #   make -DWIN32 OWLNAME=Owl OWLVER=200  32bit DLL (owlwfi.lib & owl200f.dll)
  29. #
  30. # Diagnostic builds:
  31. #   make MODEL=s -DOWLSECTION -DDIAGS    small model diag library (owldws.lib)
  32. #   make MODEL=m -DOWLSECTION -DDIAGS    medium model diag library (owldwm.lib)
  33. #   make MODEL=l -DOWLSECTION -DDIAGS    large model diag library (owldwl.lib)
  34. #   make -DDIAGS                         16bit diag DLL (owldwi.lib & 0wl200d.dll)
  35. #   make -DWIN32 -DOWLSECTION -DDIAGS    32bit flat model diag library (owldwf.lib)
  36. #   make -DWIN32 -DDIAGS                 32bit diag DLL (owldwfi.lib & 0wl200df.dll)
  37. #
  38. # Notes:
  39. #   The owl16.ord file should be maintained if Owl functions are changed
  40. #   otherwise warnings will be generated during the DLL link.
  41. #
  42. #-----------------------------------------------------------------------------
  43.  
  44. .autodepend
  45. .cacheautodepend
  46. .swap
  47.  
  48. #--------------------------------------------------------------------
  49. # fill in defaults
  50. #--------------------------------------------------------------------
  51. !if !$d(MODEL) || $(MODEL) == d
  52.   DLL = 1
  53. !endif
  54. !if $d(WIN32)
  55.   MODEL = f
  56. !elif $d(DLL) || !$d(MODEL)
  57.   MODEL = l
  58. !endif
  59.  
  60. #--------------------------------------------------------------------
  61. # dir & name components
  62. #--------------------------------------------------------------------
  63. !if $d(DLL)
  64.  
  65. ! if !$d(OWLNAME) && !$d(DIAGS)
  66. !   error MUST DEFINE LIBRARY NAME, e.g. "MAKE MODEL=d OWLNAME=YourName"
  67. ! endif
  68. ! if $d(WIN32)
  69.     KEY = wfi
  70. ! else
  71.     KEY = wi
  72. ! endif
  73.  
  74. !else
  75.  
  76.   KEY = w$(MODEL)
  77.  
  78. !endif  # if/else $d(DLL)
  79.  
  80. !if !$d(OWLNAME)
  81.   OWLNAME=Owl
  82. ! if !$d(OWLVER)
  83.     OWLVER=200
  84. ! endif
  85. !endif
  86.  
  87. #--------------------------------------------------------------------
  88. # debug & diagnostic flags
  89. #--------------------------------------------------------------------
  90. !if $d(DEBUG)
  91.   CDBG = -v -k -Od    # debug-info on, normal stack, no optimizations
  92. !endif
  93. !if 1 || $d(DEBUG)    # Leave public debug info in dll & strip to a .tds after
  94. ! if $d(WIN32)
  95.     LDBG = -v
  96. ! else
  97.     LDBG = -v -Vt
  98. ! endif
  99. !endif
  100.  
  101. !if $d(DIAGS)         # default diags use precondition, check, trace & warn
  102.   __DEBUG=2
  103.   __TRACE=1
  104.   __WARN=1
  105.   BD=d                # Use Bids Diag version when Owl lib is diag
  106.   OD=d                # Owl libs & dll get a 'd' for Diag versions
  107. !endif
  108.  
  109. #
  110. # Build up compiler diag switches based on settings
  111. #
  112. !if $d(__DEBUG)
  113.   CDIAG = -D__DEBUG=$(__DEBUG)
  114. !endif
  115. !if $d(__TRACE)
  116.   CDIAG = $(CDIAG) -D__TRACE
  117. !endif
  118. !if $d(__WARN)
  119.   CDIAG = $(CDIAG) -D__WARN
  120. !endif
  121.  
  122. #--------------------------------------------------------------------
  123. # dir & search paths, & precompiled headers
  124. #--------------------------------------------------------------------
  125. !if !$d(BCROOT)
  126. !  include $(MAKEDIR)\bcroot.inc   # Use bcroot.inc setup by install if no var
  127. !endif
  128.  
  129. #
  130. # Where to find Owl dirs-- can set these for special layouts
  131. #
  132. !if !$d(OWLSRCDIR)
  133.   OWLSRCDIR = $(BCROOT)\source\owl
  134. !endif
  135.  
  136. !if !$d(OWLINCDIR)
  137.   OWLINCDIR = $(BCROOT)\include
  138. !endif
  139.  
  140. !if !$d(OWLLIBDIR)
  141.   OWLLIBDIR = $(BCROOT)\lib
  142. !endif
  143.  
  144. !if !$d(OWLBINDIR)
  145.   OWLBINDIR = $(BCROOT)\bin
  146. !endif
  147.  
  148. #
  149. # Where to find BC tools, libraries and include files
  150. #
  151. BCBINDIR = $(BCROOT)\bin
  152. BCINCDIR = $(BCROOT)\include
  153. BCLIBDIR = $(BCROOT)\lib
  154.  
  155. #
  156. # Build search paths differently if Owl include dir is not below BC's
  157. #
  158. !if "$(OWLINCDIR)" == "$(BCINCDIR)"
  159.   INCLUDE       = $(BCINCDIR)
  160.   RCINCLUDEPATH = -i$(BCINCDIR)
  161. !else
  162.   INCLUDE       = $(OWLINCDIR);$(BCINCDIR)
  163.   RCINCLUDEPATH = -i$(OWLINCDIR) -i$(BCINCDIR)
  164. !endif
  165.  
  166. OWLOBJDIR = $(OWLSRCDIR)\object\$(OD)$(KEY)    # Keep seperate diag/nondiag dirs
  167.  
  168. .PATH.obj = $(OWLOBJDIR)
  169. .PATH.res = $(OWLOBJDIR)
  170. .PATH.def = $(OWLOBJDIR)
  171. .PATH.lib = $(OWLLIBDIR)
  172. .PATH.cpp = $(OWLSRCDIR)
  173.  
  174. #
  175. # Define this to enable the use of Precompiled headers when building Owl
  176. #
  177. !if !$d(NOOWLPCH)
  178.   CPCH= -H=$(OWLLIBDIR)\$(OWLNAME)$(OD)$(KEY).csm -H"owl\owlpch.h" -D_OWLPCH
  179. !endif
  180.  
  181. #--------------------------------------------------------------------
  182. # library names
  183. #--------------------------------------------------------------------
  184. !if $d(DLL)
  185. ! if $d(WIN32)
  186.     OWLDLL = $(OWLBINDIR)\$(OWLNAME)$(OWLVER)$(OD)f.dll
  187. ! else
  188.     OWLDLL = $(OWLBINDIR)\$(OWLNAME)$(OWLVER)$(OD).dll
  189. ! endif
  190.   OWLDEF = owl.def
  191.   OWLRES = owl.res
  192. !endif
  193. OWLLIB = $(OWLLIBDIR)\$(OWLNAME)$(OD)$(KEY).lib
  194.  
  195. #--------------------------------------------------------------------
  196. # tools and options for 32bit
  197. #--------------------------------------------------------------------
  198. !if $d(WIN32)
  199.   BCC      = $(BCBINDIR)\bcc32       # Compiler
  200.   BRCC     = brcc32                  # Resource compiler
  201.   BCCASM   = $(BCBINDIR)\tasm32      # Assembler
  202.   TLINK    = $(BCBINDIR)\tlink32     # Linker
  203.   TLIB     = $(BCBINDIR)\tlib        # Librarian
  204.   IMPLIB   = $(BCBINDIR)\implib      # Import library generator
  205.   TDSTRIP  = $(BCBINDIR)\tdstrp32    # Debug info extractor
  206.  
  207.   #COPTS    = -d -k- -O1gmpv          # Optimizations
  208.   COPTS    = -d -k-
  209.   CFGFILE  = bcc32.cfg               # Name of compiler's config file
  210. ! if $d(DEBUG)
  211.     TLIBOPTS = /P512
  212. ! else
  213.     TLIBOPTS = /P32 /0
  214. ! endif
  215.  
  216. ! if $d(DLL)
  217.     CWIN = -WDE -D_BUILDOWLDLL
  218.     LFLAGS   = $(LDBG) -Tpd -aa -s -c
  219. !   if !$d(BIDSILIB)
  220.       BIDSILIB = bids$(BD)fi
  221. !   endif
  222.     STDLIBS  = import32 cw32i        # Libs for linking the Owl DLL
  223. ! else
  224.     CWIN = -W
  225. ! endif
  226.  
  227. #--------------------------------------------------------------------
  228. # tools and options for 16bit
  229. #--------------------------------------------------------------------
  230. !else
  231.   BCC      = $(BCBINDIR)\bcc         # Compiler
  232.   BRCC     = brcc                    # Resource compiler
  233.   BCCASM   = $(BCBINDIR)\tasm        # Assembler
  234.   TLINK    = $(BCBINDIR)\tlink       # Linker
  235.   TLIB     = $(BCBINDIR)\tlib        # Librarian
  236.  
  237.   # implib needs -o switch in 16 bit for compatibility
  238.   IMPLIB   = $(BCBINDIR)\implib -o   # Import library generator
  239.   TDSTRIP  = $(BCBINDIR)\tdstrip     # Debug info extractor
  240.  
  241.   CMDL     = -m$(MODEL)
  242.   COPTS    = -3 -d -k- -O1gmpv       # Optimizations
  243.  
  244. ! if $(MODEL) != s && $(MODEL) != m  # Large models can put strs in code seg
  245.     COPTS = $(COPTS) -dc
  246. ! endif
  247. ! if $(MODEL) == s                   # Small model turns off some options
  248.     NO_CPP_EXCEPTIONS = 1
  249.     COPTS = $(COPTS) -DNO_GDI_ORPHAN_CONTROL
  250. ! endif
  251. ! if $d(NO_CPP_EXCEPTIONS)
  252.     COPTS = $(COPTS) -DNO_CPP_EXCEPTIONS -x-
  253. ! endif
  254.   CFGFILE = turboc.cfg
  255.  
  256. ! if $d(DEBUG)
  257.     TLIBOPTS = /P512
  258. ! else
  259.     TLIBOPTS = /P32 /0
  260. ! endif
  261.  
  262. ! if $d(DLL)
  263.     CWIN = -WDE -D_BUILDOWLDLL -zEOWL_FARDATA
  264.     LFLAGS = $(LDBG) -Twd -n -s -c -C
  265. !   if !$d(BIDSILIB)
  266.       BIDSILIB = bids$(BD)i
  267. !   endif
  268.     STDLIBS  = import crtldll        # Libs for linking the Owl DLL
  269. ! else
  270.     CWIN = -WSE
  271.     TLIBOPTS = $(TLIBOPTS) /E        # 16bit static libs get extended dicts
  272. ! endif
  273.  
  274. !endif
  275.  
  276. #--------------------------------------------------------------------
  277. # rules
  278. #--------------------------------------------------------------------
  279. .rc.res:
  280.   $(BRCC) $(RCINCLUDEPATH) -fo$@ $.
  281.  
  282. .cpp.obj:
  283.   $(BCC) {$. }
  284.  
  285. #--------------------------------------------------------------------
  286. #
  287. # Various file lists needed for dependency checking and LIBing.
  288. #
  289. #   OBJSn is the main list
  290. #
  291. #   DEPOBJS is the list of object files for dependency checking
  292. #
  293. #   LIBOBJS is the list of object files for building the library
  294. #
  295. #   LINKOBJS is the list of object files for building the DLL
  296. #
  297. #   ILIBOBJS is the list of object files added to the import library
  298. #
  299. #--------------------------------------------------------------------
  300.  
  301. # General Objs
  302. #
  303. OBJS1 = \
  304.  PFXappdict.obj\
  305.  PFXbitmap.obj\
  306.  PFXbitmapga.obj\
  307.  PFXbitset.obj\
  308.  PFXbrush.obj\
  309.  PFXbuttonga.obj\
  310.  PFXcelarray.obj\
  311.  PFXchooseco.obj\
  312.  PFXchoosefo.obj\
  313.  PFXclipboar.obj\
  314.  PFXclipview.obj\
  315.  PFXcolor.obj\
  316.  PFXcommdial.obj\
  317.  PFXcompat.obj\
  318.  PFXcontrolb.obj\
  319.  PFXcontrolg.obj\
  320.  PFXcreatedc.obj\
  321.  PFXcursor.obj\
  322.  PFXdc.obj\
  323.  PFXdispatch.obj\
  324.  PFXeventhan.obj\
  325.  PFXexcept.obj\
  326.  PFXfont.obj\
  327.  PFXgadget.obj\
  328.  PFXgadgetwi.obj\
  329.  PFXgauge.obj\
  330.  PFXgdibase.obj\
  331.  PFXgdiobjec.obj\
  332.  PFXicon.obj\
  333.  PFXlayoutwi.obj\
  334.  PFXmemorydc.obj\
  335.  PFXmenu.obj\
  336.  PFXmessageb.obj\
  337.  PFXmetafile.obj\
  338.  PFXmetafldc.obj\
  339.  PFXmoduleob.obj\
  340.  PFXowl.obj\
  341.  PFXowldiag.obj\
  342.  PFXpaintdc.obj\
  343.  PFXpalette.obj\
  344.  PFXpen.obj\
  345.  PFXpreview.obj\
  346.  PFXprintdc.obj\
  347.  PFXregion.obj\
  348.  PFXstatusba.obj\
  349.  PFXswindow.obj\
  350.  PFXtextgadg.obj\
  351.  PFXtoolbox.obj\
  352.  PFXversion.obj\
  353.  PFXwindow.obj\
  354.  PFXwindowdc.obj
  355.  
  356. # Add in these objs when exceptions are disabled
  357. #
  358. ! if $d(NO_CPP_EXCEPTIONS)
  359. OBJS1 = $(OBJS1)\
  360.  PFXnoxx.obj
  361. !endif
  362.  
  363. # Add in these objs when sectioning
  364. #
  365. !if $d(OWLSECTION)
  366. OBJS1 = $(OBJS1)\
  367.  PFXapplica1.obj\
  368.  PFXapplica2.obj\
  369.  PFXapplica3.obj\
  370.  PFXapplica4.obj\
  371.  PFXbutton1.obj\
  372.  PFXbutton2.obj\
  373.  PFXcheckbo1.obj\
  374.  PFXcheckbo2.obj\
  375.  PFXcombobo1.obj\
  376.  PFXcombobo2.obj\
  377.  PFXcontrol1.obj\
  378.  PFXcontrol2.obj\
  379.  PFXdecfram1.obj\
  380.  PFXdecfram2.obj\
  381.  PFXdecmdif1.obj\
  382.  PFXdecmdif2.obj\
  383.  PFXdialog1.obj\
  384.  PFXdialog2.obj\
  385.  PFXdib1.obj\
  386.  PFXdib2.obj\
  387.  PFXdib3.obj\
  388.  PFXdib4.obj\
  389.  PFXdib5.obj\
  390.  PFXdib6.obj\
  391.  PFXdocmang1.obj\
  392.  PFXdocmang2.obj\
  393.  PFXdocview1.obj\
  394.  PFXdocview2.obj\
  395.  PFXedit1.obj\
  396.  PFXedit2.obj\
  397.  PFXeditfil1.obj\
  398.  PFXeditfil2.obj\
  399.  PFXeditsea1.obj\
  400.  PFXeditsea2.obj\
  401.  PFXeditvie1.obj\
  402.  PFXeditvie2.obj\
  403.  PFXfiledoc1.obj\
  404.  PFXfiledoc2.obj\
  405.  PFXfiltval1.obj\
  406.  PFXfiltval2.obj\
  407.  PFXfindrep1.obj\
  408.  PFXfindrep2.obj\
  409.  PFXfloatfr1.obj\
  410.  PFXfloatfr2.obj\
  411.  PFXframewi1.obj\
  412.  PFXframewi2.obj\
  413.  PFXframewi3.obj\
  414.  PFXgroupbo1.obj\
  415.  PFXgroupbo2.obj\
  416.  PFXhslider1.obj\
  417.  PFXhslider2.obj\
  418.  PFXinputdi1.obj\
  419.  PFXinputdi2.obj\
  420.  PFXlistbox1.obj\
  421.  PFXlistbox2.obj\
  422.  PFXlistvie1.obj\
  423.  PFXlistvie2.obj\
  424.  PFXlookval1.obj\
  425.  PFXlookval2.obj\
  426.  PFXmdichil1.obj\
  427.  PFXmdichil2.obj\
  428.  PFXmdiclie1.obj\
  429.  PFXmdiclie2.obj\
  430.  PFXmdifram1.obj\
  431.  PFXmdifram2.obj\
  432.  PFXmenudes1.obj\
  433.  PFXmenudes2.obj\
  434.  PFXmodule1.obj\
  435.  PFXmodule2.obj\
  436.  PFXmodule3.obj\
  437.  PFXmodule4.obj\
  438.  PFXopensav1.obj\
  439.  PFXopensav2.obj\
  440.  PFXpictval1.obj\
  441.  PFXpictval2.obj\
  442.  PFXpoint1.obj\
  443.  PFXpoint2.obj\
  444.  PFXpoint3.obj\
  445.  PFXprintdi1.obj\
  446.  PFXprintdi2.obj\
  447.  PFXprinter1.obj\
  448.  PFXprinter2.obj\
  449.  PFXprintou1.obj\
  450.  PFXprintou2.obj\
  451.  PFXradiobu1.obj\
  452.  PFXradiobu2.obj\
  453.  PFXrangevl1.obj\
  454.  PFXrangevl2.obj\
  455.  PFXscrollb1.obj\
  456.  PFXscrollb2.obj\
  457.  PFXscrolle1.obj\
  458.  PFXscrolle2.obj\
  459.  PFXslider1.obj\
  460.  PFXslider2.obj\
  461.  PFXstatic1.obj\
  462.  PFXstatic2.obj\
  463.  PFXtinycap1.obj\
  464.  PFXtinycap2.obj\
  465.  PFXvalidat1.obj\
  466.  PFXvalidat2.obj\
  467.  PFXvslider1.obj\
  468.  PFXvslider2.obj
  469.  
  470. # Add in these objs when not sectioning
  471. #
  472. !else
  473. OBJS1 = $(OBJS1)\
  474.  PFXapplicat.obj\
  475.  PFXbutton.obj\
  476.  PFXcheckbox.obj\
  477.  PFXcombobox.obj\
  478.  PFXcontrol.obj\
  479.  PFXdecframe.obj\
  480.  PFXdib.obj\
  481.  PFXdialog.obj\
  482.  PFXdecmdifr.obj\
  483.  PFXdocmanag.obj\
  484.  PFXdocview.obj\
  485.  PFXedit.obj\
  486.  PFXeditfile.obj\
  487.  PFXeditsear.obj\
  488.  PFXeditview.obj\
  489.  PFXfiledoc.obj\
  490.  PFXfiltval.obj\
  491.  PFXfindrepl.obj\
  492.  PFXfloatfra.obj\
  493.  PFXframewin.obj\
  494.  PFXgroupbox.obj\
  495.  PFXhslider.obj\
  496.  PFXinputdia.obj\
  497.  PFXlistbox.obj\
  498.  PFXlistview.obj\
  499.  PFXlookval.obj\
  500.  PFXmdichild.obj\
  501.  PFXmdiclien.obj\
  502.  PFXmdiframe.obj\
  503.  PFXmenudesc.obj\
  504.  PFXmodule.obj\
  505.  PFXopensave.obj\
  506.  PFXpictval.obj\
  507.  PFXpoint.obj\
  508.  PFXprinter.obj\
  509.  PFXprintdia.obj\
  510.  PFXprintout.obj\
  511.  PFXradiobut.obj\
  512.  PFXrangeval.obj\
  513.  PFXscrollba.obj\
  514.  PFXscroller.obj\
  515.  PFXslider.obj\
  516.  PFXstatic.obj\
  517.  PFXtinycapt.obj\
  518.  PFXvalidate.obj\
  519.  PFXvslider.obj
  520. !endif
  521.  
  522. # Static libs and import libs
  523. #
  524. OBJS2 = \
  525.  PFXwinmain.obj\
  526.  PFXglobal.obj
  527.  
  528. # Import libs only
  529. #
  530. OBJS3 = \
  531.  PFXlibmain.obj
  532.  
  533. # 16bit only
  534. #
  535. !if !$d(WIN32)
  536. OBJS16 = \
  537.  PFXvbxctl.obj
  538. !endif
  539.  
  540. # Put together obj groups into lists for different targets
  541. #
  542. LIBDEPOBJS  = $(OBJS1:PFX=)  $(OBJS2:PFX=)  $(OBJS16:PFX=)
  543. LIBOBJS     = $(OBJS1:PFX=+) $(OBJS2:PFX=+) $(OBJS16:PFX=+)
  544. ILIBDEPOBJS = $(OBJS1:PFX=)  $(OBJS2:PFX=)  $(OBJS3:PFX=) $(OBJS16:PFX=)
  545. LINKOBJS    = $(OBJS1:PFX=)
  546. ILIBOBJS    = $(OBJS3:PFX=+) $(OBJS2:PFX=+) $(OBJS16:PFX=+)
  547.  
  548. #--------------------------------------------------------------------
  549. # targets
  550. #--------------------------------------------------------------------
  551. all: cfgfile $(OWLLIB)
  552.  
  553. cfgfile:
  554.   @-if not exist $(.PATH.obj)\..\NUL md $(.PATH.obj)\..
  555.   @-if not exist $(.PATH.obj)\NUL md $(.PATH.obj)
  556.   @copy &&|
  557. -I$(INCLUDE)
  558. -c -w $(CMDL) $(CWIN) $(COPTS)
  559. $(CDBG) $(CDIAG)
  560. $(CPCH) -n$(.PATH.obj) $(CCFOWL)
  561. | $(CFGFILE) > NUL
  562.  
  563. !if $d(DLL)
  564.  
  565. !if $d(WIN32)
  566.  
  567. $(OWLLIB): $(ILIBDEPOBJS) $(.PATH.obj)\$(OWLDEF) $(.PATH.obj)\$(OWLRES)
  568.   @cd $(.PATH.obj)
  569.   $(TLINK) @&&|
  570. $(LFLAGS) -L$(BCLIBDIR) c0d32 +
  571. $(LINKOBJS)
  572. $(OWLDLL)
  573.  
  574. -v- $(BIDSILIB) $(STDLIBS)
  575. $(OWLDEF)
  576. $(OWLRES)
  577. |
  578.   $(TDSTRIP) -s $(OWLDLL)
  579.   $(IMPLIB) $(OWLLIB) $(OWLDLL)
  580.   $(TLIB) $(TLIBOPTS) $(OWLLIB) @&&|
  581. $(ILIBOBJS)
  582. |
  583.   @del $*.bak
  584.   @cd $(.PATH.cpp)
  585.  
  586. $(.PATH.obj)\$(OWLRES):
  587.   $(BRCC) $(RCINCLUDEPATH) -fo$@ $&.rc
  588.  
  589. $(.PATH.obj)\$(OWLDEF):
  590.   @cd $(.PATH.obj)
  591.   @copy &&|
  592. LIBRARY     $(OWLNAME)$(OWLVER)$(OD)
  593. DESCRIPTION 'ObjectWindows DLL'
  594. EXETYPE     WINDOWS
  595. DATA        MULTIPLE NONSHARED
  596. | $(OWLDEF) > NUL
  597.   @cd $(.PATH.cpp)
  598.  
  599. winmain.obj:
  600.   $(BCC) -W -D_OWLDLL -U_BUILDOWLDLL $&.cpp
  601.  
  602. !else  # ! WIN32
  603.  
  604. #
  605. # link once to get dll ordinals for implib,
  606. # finish lib by adding additional objs,
  607. # then re-link stripping name tables, add resources & tdstrip debug info
  608. #
  609. $(OWLLIB): $(ILIBDEPOBJS) $(.PATH.obj)\$(OWLDEF) $(.PATH.obj)\$(OWLRES)
  610.   @cd $(.PATH.obj)
  611.   $(TLINK) @&&|
  612. $(LFLAGS) -Gn -L$(BCLIBDIR) c0dl +
  613. $(LINKOBJS)
  614. $(OWLDLL)
  615.  
  616. -v- $(BIDSILIB) $(STDLIBS)
  617. $(OWLDEF)
  618.  
  619. |
  620.   $(IMPLIB) -i $(OWLLIB) $(OWLDEF) $(OWLDLL)
  621.   $(TLIB) $(TLIBOPTS) $(OWLLIB) @&&|
  622. $(ILIBOBJS)
  623. |
  624.   $(TLINK) @&&|
  625. $(LFLAGS) -Gr -Gn -L$(BCLIBDIR) c0dl +
  626. $(LINKOBJS)
  627. $(OWLDLL)
  628.  
  629. -v- $(BIDSILIB) $(STDLIBS)
  630. $(OWLDEF)
  631. $(OWLRES)
  632. |
  633.   $(TDSTRIP) -s $(OWLDLL)
  634.   @del $*.bak
  635.   @cd $(.PATH.cpp)
  636.  
  637. $(.PATH.obj)\$(OWLRES):
  638.   $(BRCC) $(RCINCLUDEPATH) -fo$@ $&.rc
  639.  
  640. $(.PATH.obj)\$(OWLDEF): $(ILIBDEPOBJS) $(.PATH.cpp)\owl16.ord
  641.   @copy &&|
  642. LIBRARY     $(OWLNAME)$(OWLVER)$(OD)
  643. DESCRIPTION 'ObjectWindows DLL'
  644. EXETYPE     WINDOWS
  645. CODE        PRELOAD MOVEABLE DISCARDABLE
  646. DATA        PRELOAD MOVEABLE SINGLE
  647. HEAPSIZE    4096
  648. EXPORTS
  649.     WEP @1 RESIDENTNAME
  650. | + $(.PATH.cpp)\owl16.ord $(.PATH.obj)\$(OWLDEF) > NUL
  651.  
  652. winmain.obj:
  653.   $(BCC) -WSE -D_OWLDLL -U_BUILDOWLDLL $&.cpp
  654.  
  655. !endif
  656.  
  657. !else  # ! DLL
  658.  
  659. $(OWLLIB): $(LIBDEPOBJS)
  660.   @del $(OWLLIB)
  661.   @cd $(.PATH.obj)
  662.   $(TLIB) $(TLIBOPTS) $(OWLLIB) @&&|
  663. $(LIBOBJS)
  664. |
  665.   @cd $(.PATH.cpp)
  666.  
  667. !endif
  668.  
  669. clean:
  670.   @echo Removing .OBJs from $(.PATH.obj)
  671.   @if exist $(.PATH.obj)\*.obj del $(.PATH.obj)\*.obj
  672.   @if exist $(.PATH.obj)\*.csm del $(.PATH.obj)\*.csm
  673.  
  674. applica1.obj: applicat.cpp
  675.   $(BCC) -o$< -DSECTION=1 applicat.cpp
  676. applica2.obj: applicat.cpp
  677.   $(BCC) -o$< -DSECTION=2 applicat.cpp
  678. applica3.obj: applicat.cpp
  679.   $(BCC) -o$< -DSECTION=3 applicat.cpp
  680. applica4.obj: applicat.cpp
  681.   $(BCC) -o$< -DSECTION=4 applicat.cpp
  682.  
  683. button1.obj: button.cpp
  684.   $(BCC) -o$< -DSECTION=1 button.cpp
  685. button2.obj: button.cpp
  686.   $(BCC) -o$< -DSECTION=2 button.cpp
  687.  
  688. checkbo1.obj: checkbox.cpp
  689.   $(BCC) -o$< -DSECTION=1 checkbox.cpp
  690. checkbo2.obj: checkbox.cpp
  691.   $(BCC) -o$< -DSECTION=2 checkbox.cpp
  692.  
  693. combobo1.obj: combobox.cpp
  694.   $(BCC) -o$< -DSECTION=1 combobox.cpp
  695. combobo2.obj: combobox.cpp
  696.   $(BCC) -o$< -DSECTION=2 combobox.cpp
  697.  
  698. control1.obj: control.cpp
  699.   $(BCC) -o$< -DSECTION=1 control.cpp
  700. control2.obj: control.cpp
  701.   $(BCC) -o$< -DSECTION=2 control.cpp
  702.  
  703. decfram1.obj: decframe.cpp
  704.   $(BCC) -o$< -DSECTION=1 decframe.cpp
  705. decfram2.obj: decframe.cpp
  706.   $(BCC) -o$< -DSECTION=2 decframe.cpp
  707.  
  708. decmdif1.obj: decmdifr.cpp
  709.   $(BCC) -o$< -DSECTION=1 decmdifr.cpp
  710. decmdif2.obj: decmdifr.cpp
  711.   $(BCC) -o$< -DSECTION=2 decmdifr.cpp
  712.  
  713. dialog1.obj: dialog.cpp
  714.   $(BCC) -o$< -DSECTION=1 dialog.cpp
  715. dialog2.obj: dialog.cpp
  716.   $(BCC) -o$< -DSECTION=2 dialog.cpp
  717.  
  718. dib1.obj: dib.cpp
  719.   $(BCC) -o$< -DSECTION=1 dib.cpp
  720. dib2.obj: dib.cpp
  721.   $(BCC) -o$< -DSECTION=2 dib.cpp
  722. dib3.obj: dib.cpp
  723.   $(BCC) -o$< -DSECTION=3 dib.cpp
  724. dib4.obj: dib.cpp
  725.   $(BCC) -o$< -DSECTION=4 dib.cpp
  726. dib5.obj: dib.cpp
  727.   $(BCC) -o$< -DSECTION=5 dib.cpp
  728. dib6.obj: dib.cpp
  729.   $(BCC) -o$< -DSECTION=6 dib.cpp
  730.  
  731. docmang1.obj: docmanag.cpp
  732.   $(BCC) -o$< -DSECTION=1 docmanag.cpp
  733. docmang2.obj: docmanag.cpp
  734.   $(BCC) -o$< -DSECTION=2 docmanag.cpp
  735.  
  736. docview1.obj: docview.cpp
  737.   $(BCC) -o$< -DSECTION=1 docview.cpp
  738. docview2.obj: docview.cpp
  739.   $(BCC) -o$< -DSECTION=2 docview.cpp
  740.  
  741. edit1.obj: edit.cpp
  742.   $(BCC) -o$< -DSECTION=1 edit.cpp
  743. edit2.obj: edit.cpp
  744.   $(BCC) -o$< -DSECTION=2 edit.cpp
  745.  
  746. editfil1.obj: editfile.cpp
  747.   $(BCC) -o$< -DSECTION=1 editfile.cpp
  748. editfil2.obj: editfile.cpp
  749.   $(BCC) -o$< -DSECTION=2 editfile.cpp
  750.  
  751. editsea1.obj: editsear.cpp
  752.   $(BCC) -o$< -DSECTION=1 editsear.cpp
  753. editsea2.obj: editsear.cpp
  754.   $(BCC) -o$< -DSECTION=2 editsear.cpp
  755.  
  756. editvie1.obj: editview.cpp
  757.   $(BCC) -o$< -DSECTION=1 editview.cpp
  758. editvie2.obj: editview.cpp
  759.   $(BCC) -o$< -DSECTION=2 editview.cpp
  760.  
  761. filedoc1.obj: filedoc.cpp
  762.   $(BCC) -o$< -DSECTION=1 filedoc.cpp
  763. filedoc2.obj: filedoc.cpp
  764.   $(BCC) -o$< -DSECTION=2 filedoc.cpp
  765.  
  766. filtval1.obj: filtval.cpp
  767.   $(BCC) -o$< -DSECTION=1 filtval.cpp
  768. filtval2.obj: filtval.cpp
  769.   $(BCC) -o$< -DSECTION=2 filtval.cpp
  770.  
  771. findrep1.obj: findrepl.cpp
  772.   $(BCC) -o$< -DSECTION=1 findrepl.cpp
  773. findrep2.obj: findrepl.cpp
  774.   $(BCC) -o$< -DSECTION=2 findrepl.cpp
  775.  
  776. floatfr1.obj: floatfra.cpp
  777.   $(BCC) -o$< -DSECTION=1 floatfra.cpp
  778. floatfr2.obj: floatfra.cpp
  779.   $(BCC) -o$< -DSECTION=2 floatfra.cpp
  780.  
  781. framewi1.obj: framewin.cpp
  782.   $(BCC) -o$< -DSECTION=1 framewin.cpp
  783. framewi2.obj: framewin.cpp
  784.   $(BCC) -o$< -DSECTION=2 framewin.cpp
  785. framewi3.obj: framewin.cpp
  786.   $(BCC) -o$< -DSECTION=3 framewin.cpp
  787.  
  788. groupbo1.obj: groupbox.cpp
  789.   $(BCC) -o$< -DSECTION=1 groupbox.cpp
  790. groupbo2.obj: groupbox.cpp
  791.   $(BCC) -o$< -DSECTION=2 groupbox.cpp
  792.  
  793. hslider1.obj: hslider.cpp
  794.   $(BCC) -o$< -DSECTION=1 hslider.cpp
  795. hslider2.obj: hslider.cpp
  796.   $(BCC) -o$< -DSECTION=2 hslider.cpp
  797.  
  798. inputdi1.obj: inputdia.cpp
  799.   $(BCC) -o$< -DSECTION=1 inputdia.cpp
  800. inputdi2.obj: inputdia2.cpp
  801.   $(BCC) -o$< -DSECTION=2 inputdia.cpp
  802.  
  803. listbox1.obj: listbox.cpp
  804.   $(BCC) -o$< -DSECTION=1 listbox.cpp
  805. listbox2.obj: listbox.cpp
  806.   $(BCC) -o$< -DSECTION=2 listbox.cpp
  807.  
  808. listvie1.obj: listview.cpp
  809.   $(BCC) -o$< -DSECTION=1 listview.cpp
  810. listvie2.obj: listview.cpp
  811.   $(BCC) -o$< -DSECTION=2 listview.cpp
  812.  
  813. lookval1.obj: lookval.cpp
  814.   $(BCC) -o$< -DSECTION=1 lookval.cpp
  815. lookval2.obj: lookval.cpp
  816.   $(BCC) -o$< -DSECTION=2 lookval.cpp
  817.  
  818. mdichil1.obj: mdichild.cpp
  819.   $(BCC) -o$< -DSECTION=1 mdichild.cpp
  820. mdichil2.obj: mdichild.cpp
  821.   $(BCC) -o$< -DSECTION=2 mdichild.cpp
  822.  
  823. mdiclie1.obj: mdiclien.cpp
  824.   $(BCC) -o$< -DSECTION=1 mdiclien.cpp
  825. mdiclie2.obj: mdiclien.cpp
  826.   $(BCC) -o$< -DSECTION=2 mdiclien.cpp
  827.  
  828. mdifram1.obj: mdiframe.cpp
  829.   $(BCC) -o$< -DSECTION=1 mdiframe.cpp
  830. mdifram2.obj: mdiframe.cpp
  831.   $(BCC) -o$< -DSECTION=2 mdiframe.cpp
  832.  
  833. menudes1.obj: menudesc.cpp
  834.   $(BCC) -o$< -DSECTION=1 menudesc.cpp
  835. menudes2.obj: menudesc.cpp
  836.   $(BCC) -o$< -DSECTION=2 menudesc.cpp
  837.  
  838. module1.obj: module.cpp
  839.   $(BCC) -o$< -DSECTION=1 module.cpp
  840. module2.obj: module.cpp
  841.   $(BCC) -o$< -DSECTION=2 module.cpp
  842. module3.obj: module.cpp
  843.   $(BCC) -o$< -DSECTION=3 module.cpp
  844. module4.obj: module.cpp
  845.   $(BCC) -o$< -DSECTION=4 module.cpp
  846.  
  847. opensav1.obj: opensave.cpp
  848.   $(BCC) -o$< -DSECTION=1 opensave.cpp
  849. opensav2.obj: opensave.cpp
  850.   $(BCC) -o$< -DSECTION=2 opensave.cpp
  851.  
  852. pictval1.obj: pictval.cpp
  853.   $(BCC) -o$< -DSECTION=1 pictval.cpp
  854. pictval2.obj: pictval.cpp
  855.   $(BCC) -o$< -DSECTION=2 pictval.cpp
  856.  
  857. point1.obj: point.cpp
  858.   $(BCC) -o$< -DSECTION=1 point.cpp
  859. point2.obj: point.cpp
  860.   $(BCC) -o$< -DSECTION=2 point.cpp
  861. point3.obj: point.cpp
  862.   $(BCC) -o$< -DSECTION=3 point.cpp
  863.  
  864. printou1.obj: printout.cpp
  865.   $(BCC) -o$< -DSECTION=1 printout.cpp
  866. printou2.obj: printout.cpp
  867.   $(BCC) -o$< -DSECTION=2 printout.cpp
  868.  
  869. printer1.obj: printer.cpp
  870.   $(BCC) -o$< -DSECTION=1 printer.cpp
  871. printer2.obj: printer.cpp
  872.   $(BCC) -o$< -DSECTION=2 printer.cpp
  873.  
  874. printdi1.obj: printdia.cpp
  875.   $(BCC) -o$< -DSECTION=1 printdia.cpp
  876. printdi2.obj: printdia.cpp
  877.   $(BCC) -o$< -DSECTION=2 printdia.cpp
  878.  
  879. radiobu1.obj: radiobut.cpp
  880.   $(BCC) -o$< -DSECTION=1 radiobut.cpp
  881. radiobu2.obj: radiobut.cpp
  882.   $(BCC) -o$< -DSECTION=2 radiobut.cpp
  883.  
  884. rangevl1.obj: rangeval.cpp
  885.   $(BCC) -o$< -DSECTION=1 rangeval.cpp
  886. rangevl2.obj: rangeval.cpp
  887.   $(BCC) -o$< -DSECTION=2 rangeval.cpp
  888.  
  889. scrolle1.obj: scroller.cpp
  890.   $(BCC) -o$< -DSECTION=1 scroller.cpp
  891. scrolle2.obj: scroller.cpp
  892.   $(BCC) -o$< -DSECTION=2 scroller.cpp
  893.  
  894. scrollb1.obj: scrollba.cpp
  895.   $(BCC) -o$< -DSECTION=1 scrollba.cpp
  896. scrollb2.obj: scrollba.cpp
  897.   $(BCC) -o$< -DSECTION=2 scrollba.cpp
  898.  
  899. slider1.obj: slider.cpp
  900.   $(BCC) -o$< -DSECTION=1 slider.cpp
  901. slider2.obj: slider.cpp
  902.   $(BCC) -o$< -DSECTION=2 slider.cpp
  903.  
  904. static1.obj: static.cpp
  905.   $(BCC) -o$< -DSECTION=1 static.cpp
  906. static2.obj: static.cpp
  907.   $(BCC) -o$< -DSECTION=2 static.cpp
  908.  
  909. tinycap1.obj: tinycapt.cpp
  910.   $(BCC) -o$< -DSECTION=1 tinycapt.cpp
  911. tinycap2.obj: tinycapt.cpp
  912.   $(BCC) -o$< -DSECTION=2 tinycapt.cpp
  913.  
  914. validat1.obj: validate.cpp
  915.   $(BCC) -o$< -DSECTION=1 validate.cpp
  916. validat2.obj: validate.cpp
  917.   $(BCC) -o$< -DSECTION=2 validate.cpp
  918.  
  919. vslider1.obj: vslider.cpp
  920.   $(BCC) -o$< -DSECTION=1 vslider.cpp
  921. vslider2.obj: vslider.cpp
  922.   $(BCC) -o$< -DSECTION=2 vslider.cpp
  923.