home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 May / Chip_2002-05_cd1.bin / chplus / cpp / 3 / stl.exe / makeincl.inc < prev    next >
Text File  |  1998-02-09  |  6KB  |  186 lines

  1. #==========================================================================
  2. #
  3. #  makeincl.bcc - header file Borland C++ makefiles
  4. #
  5. #  $Id: makeincl.bcc,v 1.37 1995/10/02 23:25:10 smithey Exp $
  6. #
  7. #==========================================================================
  8. #
  9. #  (c) Copyright 1994, 1995 Rogue Wave Software, Inc.
  10. #  ALL RIGHTS RESERVED
  11. #
  12. #  The software and information contained herein are proprietary to, and
  13. #  comprise valuable trade secrets of, Rogue Wave Software, Inc., which
  14. #  intends to preserve as trade secrets such software and information.
  15. #  This software is furnished pursuant to a written license agreement and
  16. #  may be used, copied, transmitted, and stored only in accordance with
  17. #  the terms of such license and with the inclusion of the above copyright
  18. #  notice.  This software and information or any other copies thereof may
  19. #  not be provided or otherwise made available to any other person.
  20. #
  21. #  Notwithstanding any other lease or license that may pertain to, or
  22. #  accompany the delivery of, this computer software and information, the
  23. #  rights of the Government regarding its use, reproduction and disclosure
  24. #  are as set forth in Section 52.227-19 of the FARS Computer
  25. #  Software-Restricted Rights clause.
  26. #
  27. #  Use, duplication, or disclosure by the Government is subject to
  28. #  restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
  29. #  Technical Data and Computer Software clause at DFARS 252.227-7013.
  30. #  Contractor/Manufacturer is Rogue Wave Software, Inc.,
  31. #  P.O. Box 2328, Corvallis, Oregon 97339.
  32. #
  33. #  This computer software and information is distributed with "restricted
  34. #  rights."  Use, duplication or disclosure is subject to restrictions as
  35. #  set forth in NASA FAR SUP 18-52.227-79 (April 1985) "Commercial
  36. #  Computer Software-Restricted Rights (April 1985)."  If the Clause at
  37. #  18-52.227-74 "Rights in Data General" is specified in the contract,
  38. #  then the "Alternate III" clause applies.
  39. #
  40. #==========================================================================
  41. #
  42. #  Header file for makefiles for the Rogue Wave Standard Library package,
  43. #  using Borland C++ with a Win32 target.
  44. #
  45. #==========================================================================
  46. #
  47. #       Usage:
  48. #
  49. #
  50. # make -fmakefile.bcc -DBINDING=<binding> -DTHREAD=<threads> \
  51. #                -DBMODE=<build mode> -DENVIRON=<environ>
  52. #
  53. #
  54. #      <environ> may be...          for...
  55. #      ----------------------   ------------------------------------------
  56. #     *WIN32                    32Bit Windows environment
  57. #
  58. #      <binding> may be...          for...
  59. #      ----------------------   ------------------------------------------
  60. #     *STATIC                 a statically linked version of the library
  61. #      DLL                                  a dynamically linked version of the library
  62. #
  63. #
  64. #      <thread> may be...           for...
  65. #      ----------------------   ------------------------------------------
  66. #     *SINGLE                       use with single-threaded applications
  67. #      MULTI                             an "MT-safe" version of the library
  68. #
  69. #
  70. #      <build mode> may be...   for...
  71. #      ----------------------   ------------------------------------------
  72. #      DEBUG                             a debug version of the library
  73. #     *RELEASE                           a release version of the library
  74. #
  75. #
  76. #==========================================================================
  77. #
  78. #  Examples:
  79. #
  80. #  (Assume building under Windows NT or 95):
  81. #      make -fmakefile.bcc BINDING=DLL THREAD=MULTI
  82. #       // builds or uses a flat-model dll version of the library, suitable for
  83. #       //   use with multi-threaded applications, under Windows NT/95
  84. #
  85. #==========================================================================
  86.  
  87. ###################################################################
  88. #
  89. #       Borland specific directives ---
  90. #
  91. .SWAP
  92. .AUTODEPEND
  93.  
  94. ###################################################################
  95. #
  96. #       set default values:
  97.  
  98. !ifndef ENVIRON
  99. ENVIRON = WIN32
  100. !endif
  101.  
  102. !ifndef BINDING
  103. BINDING = STATIC
  104. !endif
  105.  
  106. !ifndef THREAD
  107. THREAD = SINGLE
  108. !endif
  109.  
  110. !ifndef BMODE
  111. BMODE = RELEASE
  112. !endif
  113.  
  114. ###################################################################
  115. #
  116. # Flag illegal options:
  117. #
  118.  
  119. !if $(ENVIRON) != WIN32
  120. ! error Illegal value for ENVIRON option
  121. !endif
  122.  
  123. !if $(BINDING) != DLL && $(BINDING) != STATIC
  124. !  error Illegal value for BINDING option
  125. !endif
  126.  
  127. !if $(THREAD) != SINGLE && $(THREAD) != MULTI
  128. !  error Illegal value for THREAD option
  129. !endif
  130.  
  131. !if $(BMODE) != RELEASE && $(BMODE) != DEBUG
  132. !  error Illegal value for BMODE option
  133. !endif
  134.  
  135. ###################################################################
  136. #
  137. # Set tool and version names:
  138.  
  139. !if $(ENVIRON) == WIN32
  140. CPP        = bcc32
  141. LIBRARIAN  = tlib /P128
  142. LINKER     = ilink32
  143. RC         = brc32
  144. ENVNAME    =
  145. !endif
  146.  
  147. ###################################################################
  148. #
  149. # Set the various flags:
  150.  
  151. !if $(BMODE) == DEBUG
  152. DBGOPT= -v -N -x -xp
  153. CCLINKOPT = -lGn
  154. !else
  155. CCLINKOPT = -lGn
  156. !endif
  157.  
  158. !if $(THREAD) == MULTI
  159. CCLINKOPT = $(CCLINKOPT) -WM
  160. !else
  161. CCLINKOPT = $(CCLINKOPT) -WM-
  162. !endif
  163.  
  164. ###################################################################
  165. #
  166. # Set any relevant defines (-Dxxx)
  167.  
  168. DEFOPTS =
  169.  
  170. !if $(BINDING) == DLL
  171. DEFOPTS = $(DEFOPTS) -tWCR
  172. !else
  173. DEFOPTS = $(DEFOPTS) -tWC
  174. !endif
  175.  
  176. ###################################################################
  177. #
  178. # Set any compiler options
  179.  
  180. PCHROOT=stl_pch
  181. CCOPTS = -w- -H -H=$(PCHROOT).csm
  182.  
  183. #Compile flags:
  184. CPPFLAGS= $(CCOPTS) $(DBGOPT)  $(ENVOPTS) $(DEFOPTS) $(THROPTS) $(CCLINKOPT)
  185.  
  186.