/[ascend]/trunk/jam/Jamrules_general.in
ViewVC logotype

Diff of /trunk/jam/Jamrules_general.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 59 by jds, Sun Oct 30 01:38:20 2005 UTC revision 60 by jds, Mon Oct 31 03:39:15 2005 UTC
# Line 1  Line 1 
1  #  #
2  # General Jamrules support file for building Ascend4  # General Jamrules support file for building Ascend4
3  # (see http://www.freetype.org/jam/index.html)  # (see http://www.freetype.org/jam/index.html)
4  #  #
5  # This file is part of the Ascend Build System.  # This file is part of the Ascend Build System.
6  #  #
7  # Copyright (C) 2005  Jerry D. St.Clair  # Copyright (C) 2005  Jerry D. St.Clair
8  #  #
9  # The Ascend Build System is free software; you can redistribute  # The Ascend Build System is free software; you can redistribute
10  # it and/or modify it under the terms of the GNU General Public  # it and/or modify it under the terms of the GNU General Public
11  # License as published by the Free Software Foundation; either  # License as published by the Free Software Foundation; either
12  # version 2 of the License, or (at your option) any later version.  # version 2 of the License, or (at your option) any later version.
13  #  #
14  # This program is distributed in hope that it will be useful,  # This program is distributed in hope that it will be useful,
15  # but WITHOUT ANY WARRANTY; without even the implied warranty of  # but WITHOUT ANY WARRANTY; without even the implied warranty of
16  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  # GNU General Public License for more details.  # GNU General Public License for more details.
18  #  #
19  # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License
20  # along with the program; if not, write to the Free Software  # along with the program; if not, write to the Free Software
21  # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA.  # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA.
22  # Check the file named COPYING.  # Check the file named COPYING.
23  #---------------------------------------------------------------------------  #---------------------------------------------------------------------------
24  #  #
25  # UNDER CONSTRUCTION  # UNDER CONSTRUCTION
26  #  #
27  # This is a template Jamrules file which supports building the  # This is a template Jamrules file which supports building the
28  # Ascend libraries and executables.  It contains general variable  # Ascend libraries and executables.  It contains general variable
29  # and rule definitions required for execution of jam in any of the  # and rule definitions required for execution of jam in any of the
30  # source subdirectories.  The Ascend jam build system currently  # source subdirectories.  The Ascend jam build system currently
31  # supports the MSVC, Borland, MinGW, and Watcom compilers  # supports the MSVC, Borland, MinGW, and Watcom compilers
32  # (extension to gcc on Linux is on the TODO: list).  # (extension to gcc on Linux is on the TODO: list).
33  #  #
34  # This file is not currently customized by the configure mechanism,  # This file is not currently customized by the configure mechanism,
35  # although this may be implemented in the future.  # although this may be implemented in the future.
36  #  #
37  # Users should copy/rename this file to 'Jamrules_general', then  # Users should copy/rename this file to 'Jamrules_general', then
38  # modify the settings manually for their particular system.  # modify the settings manually for their particular system.
39  # Ascend cannot be built by jam unless the Jamrules_general file  # Ascend cannot be built by jam unless the Jamrules_general file
40  # is present.  # is present.
41  #  #
42  # User-customized Jamrules_general files should not be placed in  # User-customized Jamrules_general files should not be placed in
43  # version control.  Only the Jamrules_general.in template should  # version control.  Only the Jamrules_general.in template should
44  # be versioned.  # be versioned.
45  #  #
46  #---------------------------------------------------------------------------  #---------------------------------------------------------------------------
47    
48  # Comment to compile with debugging & assertions enabled  # Comment to compile with debugging & assertions enabled
49  NODEBUG = 1 ;  NODEBUG = 1 ;
50    
51  # Comment to compile without using the Epperly malloc debugger  # Comment to compile without using the Epperly malloc debugger
52  #DEBUG_MALLOC = -DMALLOC_DEBUG ;  #DEBUG_MALLOC = -DMALLOC_DEBUG ;
53    
54  #---------------------------------------------------------------------------  #---------------------------------------------------------------------------
55  # Options from here on should not require routine tweaking  
56    # Tools required for complete build (comment out if not present).
57  # Tools required for complete build (comment out if not present).  # The build system works around their absence if necessary.
58  # The build system works around their absence if necessary.  # Note that they are available for Windows, for example:
59  # Note that they are available for Windows, for example:  #     http://sourceforge.net/projects/gnuWin32
60  #     http://sourceforge.net/projects/gnuWin32  SED       = sed ;
61  SED       = sed ;  YACC      = yacc ;
62  YACC      = yacc ;  YACCFLAGS = -d ;
63  YACCFLAGS = -d ;  YACCFILES = y.tab ;
64  YACCFILES = y.tab ;  LEX       = flex ;
65  LEX       = flex ;  
66    # Location of system libraries on Linux.  
67  #======================================================================  # TODO This is a hack and needs to be redone.
68  #  General build options  if $(UNIX) || $(OS) = LINUX
69  #======================================================================  {
70  # Build directory - - will be qualified for compiler & build type    DL_LIB_DIRS   = /usr/lib ;
71  BUILD_DIR_ROOT = $(DOT) ;    X11_LIB_DIRS  = /usr/X11R6/lib ;
72      MATH_LIB_DIRS = /usr/lib ;
73  # Comment for normal jam deletion of object files after building targets    FOR_LIB_DIRS  = /usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1 ;
74  KEEPOBJS = true ;  }
75    
76  # platform-independent options  #======================================================================
77  # sizeof(void*) - change value if not a typical 32-bit system  #  General build options
78  SIZEOF_VOIDPTR = 4 ;  #======================================================================
79    # Build directory - - will be qualified for compiler & build type
80  CCFLAGS += -DTHIS_IS_AN_UNUSED_FUNCTION -DSIZEOF_VOID_P=$(SIZEOF_VOIDPTR) ;  BUILD_DIR_ROOT = $(DOT) ;
81    
82  if $(NODEBUG)  # Comment for normal jam deletion of object files after building targets
83  {  KEEPOBJS = true ;
84    CCFLAGS += -DNDEBUG ;  
85    BUILD_SUBDIR = $(SLASH)Release ;  # platform-independent options
86  }  # sizeof(void*) - change value if not a typical 32-bit system
87  else  SIZEOF_VOIDPTR = 4 ;
88  {  
89    BUILD_SUBDIR = $(SLASH)Debug ;  CCFLAGS += -DTHIS_IS_AN_UNUSED_FUNCTION -DSIZEOF_VOID_P=$(SIZEOF_VOIDPTR) ;
90  }  
91    if $(NODEBUG)
92  # platform- & complier-specific options  {
93  if $(NT)    CCFLAGS += -DNDEBUG ;
94  {    BUILD_SUBDIR = $(SLASH)Release ;
95    # Windows-specific defines  }
96    CCFLAGS += -D_X86_=1 -DWIN32 -D_WIN32 -DASC_BUILD_LIB -D$(HAVE_PACKAGES) ;  else
97    SUFSHR = .dll ;  {
98      BUILD_SUBDIR = $(SLASH)Debug ;
99    if $(BCCROOT) || ( $(TOOLSET) = BORLANDC )  }
100    {  
101      FORTRAN = ;  # platform- & complier-specific options
102      CCFLAGS   += -q -d -g0 -j0 -K -DMOD_ASCMALLOC ;  if $(NT)
103      CCWARN    = -w ;  {
104      if $(NODEBUG)    # Windows-specific defines
105      {    CCFLAGS += -D_X86_=1 -DWIN32 -D_WIN32 -DASC_BUILD_LIB -D$(HAVE_PACKAGES) ;
106        CCDEBUG = -v- -O2 ;    SUFSHR = .dll ;
107      }  
108      else    if $(BCCROOT) || ( $(TOOLSET) = BORLANDC )
109      {    {
110        CCDEBUG = -v -y -Od ;      FORTRAN = ;
111      }      CCFLAGS   += -q -d -g0 -j0 -K -DMOD_ASCMALLOC ;
112      C++FLAGS  = $(CCFLAGS) ;      CCWARN    = -w ;
113      COFF2OMF = coff2omf ;  # add location if not in path      if $(NODEBUG)
114      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)bcc ;      {
115    }        CCDEBUG = -v- -O2 ;
116        }
117    else if $(MSVCNT) || ( $(TOOLSET) = VISUALC )      else
118    {      {
119      FORTRAN = ;        CCDEBUG = -v -y -Od ;
120      CCFLAGS   += /Ze ;      }
121      CCWARN    = /W4 ;      C++FLAGS  = $(CCFLAGS) ;
122      if $(NODEBUG)      COFF2OMF = coff2omf ;  # add location if not in path
123      {      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)bcc ;
124        CCDEBUG = /O2 ;    }
125      }  
126      else    else if $(MSVCNT) || ( $(TOOLSET) = VISUALC )
127      {    {
128        CCDEBUG = /Zi /Od ;      FORTRAN = ;
129      }      CCFLAGS   += /Ze ;
130      # Libraries are in different paths depending on VC version      CCWARN    = /W4 ;
131      LINKFLAGS += /LIBPATH:$(VISUALC)\\lib /LIBPATH:$(VISUALC)\\PlatformSDK\\lib\\ ;      if $(NODEBUG)
132      LINKLIBS = advapi32.lib      {
133                 libc.lib        CCDEBUG = /O2 ;
134                 oldnames.lib      }
135                 gdi32.lib      else
136                 user32.lib      {
137                 kernel32.lib ;        CCDEBUG = /Zi /Od ;
138      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)msvc ;      }
139    }      # Libraries are in different paths depending on VC version
140        LINKFLAGS += /LIBPATH:$(VISUALC)\\lib /LIBPATH:$(VISUALC)\\PlatformSDK\\lib\\ ;
141    else if $(MINGW) || ( $(TOOLSET) = MINGW )      LINKLIBS = advapi32.lib
142    {                 libc.lib
143      FORTRANFLAGS = -c -I4 -O ;                 oldnames.lib
144      F77_LIBS += $(MINGW)$(SLASH)lib$(SLASH)libg2c.a ;                 gdi32.lib
145                   user32.lib
146      CCFLAGS += -DHAVE_ERF=1 ;                 kernel32.lib ;
147      # uncomment to select desired warning level and ansi-strictness      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)msvc ;
148      CCWARN += -Wall ;    }
149      CCWARN += -W ;  
150      CCWARN += -pedantic ;    else if $(MINGW) || ( $(TOOLSET) = MINGW )
151      #CCWARN += -Wshadow ;    {
152      #CCWARN += -ansi ;      FORTRANFLAGS = -c -I4 -O ;
153        F77_LIBS += $(MINGW)$(SLASH)lib$(SLASH)libg2c.a ;
154      if $(NODEBUG)  
155      {      CCFLAGS += -DHAVE_ERF=1 ;
156        CCDEBUG = -O3 ;      # uncomment to select desired warning level and ansi-strictness
157      }      CCWARN += -Wall ;
158      else      CCWARN += -W ;
159      {      CCWARN += -pedantic ;
160        CCDEBUG = -g -O0 ;      #CCWARN += -Wshadow ;
161      }      #CCWARN += -ansi ;
162      C++FLAGS  = $(CCFLAGS) ;  
163      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)mingw ;      if $(NODEBUG)
164    }      {
165          CCDEBUG = -O3 ;
166    else if $(WATCOM) || ( $(TOOLSET) = WATCOM )      }
167    {      else
168      FORTRANFLAGS = /NOER ;      {
169      CCFLAGS += /fr /dMOD_ASCMALLOC ;        CCDEBUG = -g -O0 ;
170      CCWARN    = /wx ;      }
171      if $(NODEBUG)      C++FLAGS  = $(CCFLAGS) ;
172      {      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)mingw ;
173        CCDEBUG = /ox ;    }
174        FORTRANFLAGS += /OX ;  
175      }    else if $(WATCOM) || ( $(TOOLSET) = WATCOM )
176      else    {
177      {      FORTRANFLAGS = /NOER ;
178        CCDEBUG = /od /d2 ;      CCFLAGS += /fr /dMOD_ASCMALLOC ;
179        FORTRANFLAGS += /OD /D2 ;      CCWARN    = /wx ;
180      }      if $(NODEBUG)
181      BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)watcom ;      {
182    }        CCDEBUG = /ox ;
183  }        FORTRANFLAGS += /OX ;
184        }
185  else if $(OS) = LINUX      else
186  {      {
187    SUFSHR = .so ;        CCDEBUG = /od /d2 ;
188    CCFLAGS += -D$(HAVE_PACKAGES) ;        FORTRANFLAGS += /OD /D2 ;
189    FORTRANFLAGS = -c -I4 -O -lg2c ;      }
190        BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)watcom ;
191    # uncomment to select desired warning level and ansi-strictness    }
192    CCWARN += -Wall ;  }
193    CCWARN += -W ;  
194    CCWARN += -pedantic ;  else if $(UNIX) || $(OS) = LINUX
195    #CCWARN += -Wshadow ;  {
196    #CCWARN += -ansi ;    SUFSHR = .so ;
197      CCFLAGS += -D$(HAVE_PACKAGES) ;
198    if $(NODEBUG)    FORTRANFLAGS = -c -I4 -O ;
199    {  
200      CCDEBUG = -O3 ;    # uncomment to select desired warning level and ansi-strictness
201    }    CCWARN += -Wall ;
202    else    CCWARN += -W ;
203    {    CCWARN += -pedantic ;
204      CCDEBUG = -g -O0 ;    #CCWARN += -Wshadow ;
205    }    #CCWARN += -ansi ;
206    BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)linux ;  
207  }    if $(NODEBUG)
208      {
209  CCFLAGS  += $(CCWARN) $(CCDEBUG) $(DEBUG_MALLOC) ;      CCDEBUG = -O3 ;
210  C++FLAGS  = $(CCFLAGS) ;    }
211  BUILD_DIR = $(BUILD_DIR_ROOT)$(BUILD_SUBDIR) ;    else
212      {
213  #======================================================================      CCDEBUG = -g -O0 ;
214  # Ascend base library names & paths    }
215  #======================================================================    BUILD_SUBDIR = $(BUILD_SUBDIR)$(SLASH)linux ;
216  ASC_COMPILER_LIBROOT  = libasc_compiler ;  }
217  ASC_GENERAL_LIBROOT   = libasc_general ;  
218  ASC_SOLVER_LIBROOT    = libasc_solver ;  CCFLAGS  += $(CCWARN) $(CCDEBUG) $(DEBUG_MALLOC) ;
219  ASC_UTILITIES_LIBROOT = libasc_utilities ;  C++FLAGS  = $(CCFLAGS) ;
220  ASC_PACKAGES_LIBROOT  = libasc_packages ;  BUILD_DIR = $(BUILD_DIR_ROOT)$(BUILD_SUBDIR) ;
221    
222  ASC_COMPILER_LIB  = $(ASC_COMPILER_LIBROOT)$(SUFLIB) ;  #======================================================================
223  ASC_GENERAL_LIB   = $(ASC_GENERAL_LIBROOT)$(SUFLIB) ;  # Ascend base library names & paths
224  ASC_SOLVER_LIB    = $(ASC_SOLVER_LIBROOT)$(SUFLIB) ;  #======================================================================
225  ASC_UTILITIES_LIB = $(ASC_UTILITIES_LIBROOT)$(SUFLIB) ;  ASC_COMPILER_LIBROOT  = libasc_compiler ;
226  ASC_PACKAGES_LIB  = $(ASC_PACKAGES_LIBROOT)$(SUFLIB) ;  ASC_GENERAL_LIBROOT   = libasc_general ;
227    ASC_SOLVER_LIBROOT    = libasc_solver ;
228  ASC_BASE_LIBS =  ASC_UTILITIES_LIBROOT = libasc_utilities ;
229    $(ASC_GENERAL_LIB)  ASC_PACKAGES_LIBROOT  = libasc_packages ;
230    $(ASC_UTILITIES_LIB)  
231    $(ASC_SOLVER_LIB)  ASC_COMPILER_LIB  = $(ASC_COMPILER_LIBROOT)$(SUFLIB) ;
232    $(ASC_COMPILER_LIB)  ASC_GENERAL_LIB   = $(ASC_GENERAL_LIBROOT)$(SUFLIB) ;
233    $(ASC_PACKAGES_LIB)  ASC_SOLVER_LIB    = $(ASC_SOLVER_LIBROOT)$(SUFLIB) ;
234    ;  ASC_UTILITIES_LIB = $(ASC_UTILITIES_LIBROOT)$(SUFLIB) ;
235    ASC_PACKAGES_LIB  = $(ASC_PACKAGES_LIBROOT)$(SUFLIB) ;
236  ASC_BASE_SOURCE_RELPATH = ..$(SLASH)base$(SLASH)generic ;  
237  ASC_BASE_LIBS_RELPATH   = ..$(SLASH)base$(SLASH)jam$(SLASH)$(BUILD_DIR)$(SLASH) ;  ASC_BASE_LIBS =
238      $(ASC_COMPILER_LIB)
239  #======================================================================    $(ASC_GENERAL_LIB)
240  # PACKAGES    $(ASC_PACKAGES_LIB)
241  #    $(ASC_SOLVER_LIB)
242  # Package settings for building Ascend.    $(ASC_UTILITIES_LIB)
243  # Packages are bits of compiled code that represent models, or solvers,    ;
244  # or, in general, any bits of external code.  
245  #  # Path to base library sources & libs from top-level jam directory
246  # Choose one of the following, comment out the others:  ASC_BASE_SOURCE_RELPATH = ..$(SLASH)base$(SLASH)generic ;
247  #     STATIC_PACKAGES   packages should be statically linked/loaded  ASC_BASE_LIBS_RELPATH   = ..$(SLASH)base$(SLASH)jam$(SLASH)$(BUILD_DIR)$(SLASH) ;
248  #     DYNAMIC_PACKAGES  packages should be dynamically linked/loaded  
249  #     NO_PACKAGES       no packages  #======================================================================
250  #  # PACKAGES
251  # If STATIC_PACKAGES are chosen, also indicate the location of  #
252  # the packages in PACK_LIBS.  Otherwise leave PACK_LIBS empty.  # Package settings for building Ascend.
253  #======================================================================  # Packages are bits of compiled code that represent models, or solvers,
254  HAVE_PACKAGES = STATIC_PACKAGES ;  # or, in general, any bits of external code.
255  #HAVE_PACKAGES = DYNAMIC_PACKAGES ;  #
256  #HAVE_PACKAGES = NO_PACKAGES ;  # Choose one of the following, comment out the others:
257    #     STATIC_PACKAGES   packages should be statically linked/loaded
258  PACK_LIBS = $(ASC_PACKAGES_LIB_PATH) ;  #     DYNAMIC_PACKAGES  packages should be dynamically linked/loaded
259  #PACK_LIBS = ;  #     NO_PACKAGES       no packages
260    #
261  #======================================================================  # If STATIC_PACKAGES are chosen, also indicate the location of
262  # SOLVERS / INTEGRATORS  # the packages in PACK_LIBS.  Otherwise leave PACK_LIBS empty.
263  #  #======================================================================
264  #  If you are linking to MINOS or other external solvers, the solver  HAVE_PACKAGES = STATIC_PACKAGES ;
265  #  interface needs to know about it.  #HAVE_PACKAGES = DYNAMIC_PACKAGES ;
266  #  Set the comment flags as appropriate on the following definitions.  #HAVE_PACKAGES = NO_PACKAGES ;
267  #  If the settings here do not match the libraries you link, you will  
268  #  almost certainly get runtime errors if not link errors.  PACK_LIBS = $(ASC_PACKAGES_LIB_PATH) ;
269  #======================================================================  #PACK_LIBS = ;
270    
271  # >>>>  UNDER CONSTRUCTION  <<<<  #======================================================================
272    # SOLVERS / INTEGRATORS
273  #  Slv is the original ASCEND nonlinear solver.  It is not currently supported.  #
274  #  to build with slv, uncomment the next line.  #  If you are linking to MINOS or other external solvers, the solver
275  #SOLVER_DEFS += -DSTATIC_SLV ;  #  interface needs to know about it.
276    #  Set the comment flags as appropriate on the following definitions.
277  #  Opt is not currently supported.  #  If the settings here do not match the libraries you link, you will
278  #  to build with optsqp, uncomment the next line  #  almost certainly get runtime errors if not link errors.
279  #SOLVER_DEFS += -DSTATIC_OPTSQP ;  #======================================================================
280    
281  #  QRSlv is the current ASCEND nonlinear algebraic solver.  # >>>>  UNDER CONSTRUCTION  <<<<
282  #  to build with qrslv, uncomment the next line  
283  SOLVER_DEFS += -DSTATIC_QRSLV ;  #  Slv is the original ASCEND nonlinear solver.  It is not currently supported.
284    #  to build with slv, uncomment the next line.
285  #  makeMPS is currently not supported.  #SOLVER_DEFS += -DSTATIC_SLV ;
286  #  to build with mps, uncomment the next line  
287  #SOLVER_DEFS += -DSTATIC_MPS ;  #  Opt is not currently supported.
288    #  to build with optsqp, uncomment the next line
289  #  to build with ngslv, uncomment the next line  #SOLVER_DEFS += -DSTATIC_OPTSQP ;
290  #SOLVER_DEFS += -DSTATIC_NGSLV ;  
291    #  QRSlv is the current ASCEND nonlinear algebraic solver.
292  #  to build with cmslv (requires CONOPT), uncomment the next line  #  to build with qrslv, uncomment the next line
293  #SOLVER_DEFS += -DSTATIC_CMSLV ;  SOLVER_DEFS += -DSTATIC_QRSLV ;
294    
295  #  to build with lrslv, uncomment the next line  #  makeMPS is currently not supported.
296  #SOLVER_DEFS += -DSTATIC_LRSLV ;  #  to build with mps, uncomment the next line
297    #SOLVER_DEFS += -DSTATIC_MPS ;
298  #  TODO the configure script sets the following depending on its search for minos.  
299  #  Minos is an external solver.  It is not currently supported.  #  to build with ngslv, uncomment the next line
300  #  to force a build WITHOUT minos, comment the next line  #SOLVER_DEFS += -DSTATIC_NGSLV ;
301  #SOLVER_DEFS += -DSTATIC_MINOS ;  
302  #  #  to build with cmslv (requires CONOPT), uncomment the next line
303  # Name & path to the minos library  #SOLVER_DEFS += -DSTATIC_CMSLV ;
304  #MINOSLIB =  ;  
305  #MINOSLIB_RELPATH = ;  #  to build with lrslv, uncomment the next line
306    #SOLVER_DEFS += -DSTATIC_LRSLV ;
307  # TODO the configure script sets the following depending on its search for conopt.  
308  #  to force a build WITHOUT conopt, comment the next line  #  TODO the configure script sets the following depending on its search for minos.
309  #SOLVER_DEFS += -DSTATIC_CONOPT ;  #  Minos is an external solver.  It is not currently supported.
310  #  #  to force a build WITHOUT minos, comment the next line
311  # Path to the conopt library  #SOLVER_DEFS += -DSTATIC_MINOS ;
312  #CONOPTLIB =  ;  #
313  #CONOPTLIB_RELPATH = ;  # Name & path to the minos library
314    #MINOSLIB =  ;
315  # TODO the configure script sets the following depending on its search for lsode.  #MINOSLIB_RELPATH = ;
316  # Choose one of the following to build with lsode, comment both to build WITHOUT lsode  
317  SOLVER_DEFS += -DSTATIC_LSOD ;  # TODO the configure script sets the following depending on its search for conopt.
318  #SOLVER_DEFS += -DDYNAMIC_LSOD ;  #  to force a build WITHOUT conopt, comment the next line
319  #  #SOLVER_DEFS += -DSTATIC_CONOPT ;
320  # Name & path to the lsode library.  Comment out if not using lsode.  #
321  ASC_LSOD_LIBROOT = liblsode ;  # Path to the conopt library
322  ASC_LSOD_LIB     = $(ASC_LSOD_LIBROOT)$(SUFLIB) ;  #CONOPTLIB =  ;
323  LSODLIB_RELPATH  = ..$(SLASH)lsod$(SLASH)jam$(SLASH)$(BUILD_DIR) ;  #CONOPTLIB_RELPATH = ;
324  LSODLIB = $(ASC_LSOD_LIB) ;  
325    # TODO the configure script sets the following depending on its search for lsode.
326  #======================================================================  # Choose one of the following to build with lsode, comment both to build WITHOUT lsode
327  # FORTRAN options - set to override compiler defaults  SOLVER_DEFS += -DSTATIC_LSOD ;
328  #======================================================================  #SOLVER_DEFS += -DDYNAMIC_LSOD ;
329  #  Your FORTRAN compiler  #
330  #FORTRAN = g77 ;  # Name & path to the lsode library.  Comment out if not using lsode.
331    ASC_LSOD_LIBROOT = liblsode ;
332  #  Fortran compilation flags & options:  ASC_LSOD_LIB     = $(ASC_LSOD_LIBROOT)$(SUFLIB) ;
333  #  These are used for making the ASCEND libraries based on FORTRAN codes.  LSODLIB_RELPATH  = ..$(SLASH)lsod$(SLASH)jam$(SLASH)$(BUILD_DIR) ;
334  #  These should be set to get the best performance possible out of your  LSODLIB = $(ASC_LSOD_LIB) ;
335  #  f77 compiler without optimizing away functions that are not obviously  
336  #  called, as some compilers do by default.  #======================================================================
337  #  # FORTRAN options - set to override compiler defaults
338  #FORTRANFLAGS = -c -I4 -O -lg2c ;  #======================================================================
339    #  Your FORTRAN compiler
340  #  F77LIBS is for the base f77 libraries. If you are linking no f77  #FORTRAN = g77 ;
341  #  objects to ascend, it may be left undefined.  
342  #  Set F77LIBS appropriate for your machine and desired loader behavior.  #  Fortran compilation flags & options:
343  #  #  These are used for making the ASCEND libraries based on FORTRAN codes.
344  #F77_LIBS = ;  #  These should be set to get the best performance possible out of your
345    #  f77 compiler without optimizing away functions that are not obviously
346  #======================================================================  #  called, as some compilers do by default.
347  # FORTRAN Support Libraries  #
348  #  #FORTRANFLAGS = -c -I4 -O -lg2c ;
349  # Point BLASLIB and LPAKLIB to machine-specific BLAS and LINPACK  
350  # libraries (if you have them) to get the best speed out of ASCEND.  #  F77LIBS is for the base f77 libraries. If you are linking no f77
351  # Otherwise, generic versions can be built if FORTRAN is available.  #  objects to ascend, it may be left undefined.
352  #======================================================================  #  Set F77LIBS appropriate for your machine and desired loader behavior.
353    #
354  # Name & path to the blas library  #F77_LIBS = ;
355  ASC_BLAS_LIBROOT = libblas ;  if $(UNIX) || $(OS) = LINUX
356  ASC_BLAS_LIB     = $(ASC_BLAS_LIBROOT)$(SUFLIB) ;  {
357  BLASLIB_RELPATH  = ..$(SLASH)blas$(SLASH)jam$(SLASH)$(BUILD_DIR) ;    F77_LIBS = -L$(FOR_LIB_DIRS) -lg2c ;
358  BLASLIB = $(ASC_BLAS_LIB) ;  }
359    
360  # Name & path to the linpack library  #======================================================================
361  ASC_LINPACK_LIBROOT = liblpak ;  # FORTRAN Support Libraries
362  ASC_LINPACK_LIB     = $(ASC_LINPACK_LIBROOT)$(SUFLIB) ;  #
363  LPAKLIB_RELPATH     = ..$(SLASH)linpack$(SLASH)jam$(SLASH)$(BUILD_DIR) ;  # Point BLASLIB and LPAKLIB to machine-specific BLAS and LINPACK
364  LPAKLIB = $(ASC_LINPACK_LIB) ;  # libraries (if you have them) to get the best speed out of ASCEND.
365    # Otherwise, generic versions can be built if FORTRAN is available.
366  #======================================================================  #======================================================================
367  # Ascend-specific jam instructions  
368  #======================================================================  # Name & path to the blas library
369    ASC_BLAS_LIBROOT = libblas ;
370  #----------------------------------------------------------------------  ASC_BLAS_LIB     = $(ASC_BLAS_LIBROOT)$(SUFLIB) ;
371  # LEX_or_copy  BLASLIB_RELPATH  = ..$(SLASH)blas$(SLASH)jam$(SLASH)$(BUILD_DIR) ;
372  #  BLASLIB = $(ASC_BLAS_LIB) ;
373  # Generates a c source file using the lexer defined by $(LEX),  
374  # or by copying a specified file if $(LEX) is not defined.  # Name & path to the linpack library
375  # The following parameters are used:  ASC_LINPACK_LIBROOT = liblpak ;
376  #  ASC_LINPACK_LIB     = $(ASC_LINPACK_LIBROOT)$(SUFLIB) ;
377  # 1   source file to generate  LPAKLIB_RELPATH     = ..$(SLASH)linpack$(SLASH)jam$(SLASH)$(BUILD_DIR) ;
378  # 2   lex/flex definition file  LPAKLIB = $(ASC_LINPACK_LIB) ;
379  # 3   pre-generated source file to copy if $(LEX) is empty  
380  # 4   header file associated with the source file, if any  #======================================================================
381  #----------------------------------------------------------------------  # Math libraries
382  rule LEX_or_copy  #======================================================================
383  {  if $(UNIX) || $(OS) = LINUX
384      if $(LEX)  {
385      {    MATH_LIBS = -L$(MATH_LIB_DIRS) -lieee -lm  ;
386        Echo Generating $(1) from $(LEX) ;  }
387        DEPENDS $(1) : $(2) ;  
388        Lex_with_options $(1) : $(2) ;  #======================================================================
389      }  # Dynamic loading support
390      else  #======================================================================
391      {  if $(UNIX) || $(OS) = LINUX
392        Echo Copying $(1) from $(4) ;  {
393          File $(1) : $(3) ;    DL_LIBS = -L$(DL_LIB_DIRS) -ldl ;
394      }  }
395    
396      # make the header dependent  #======================================================================
397      if $(4)  # X11
398      {  #======================================================================
399        INCLUDES $(1) : $(4) ;  if $(UNIX) || $(OS) = LINUX
400      }  {
401      X11_LIBS = -L$(X11_LIB_DIRS) -lX11  ;
402      Clean clean : $(1) ;  }
403  }  
404    #======================================================================
405  # run LEX using options specified in LEXOPTS  # Ascend-specific jam instructions
406  actions Lex_with_options  #======================================================================
407  {  
408    $(LEX) $(LEXOPTS) -o$(1) $(2)  #----------------------------------------------------------------------
409  }  # LEX_or_copy
410    #
411    # Generates a c source file using the lexer defined by $(LEX),
412    # or by copying a specified file if $(LEX) is not defined.
413    # The following parameters are used:
414    #
415    # 1   source file to generate
416    # 2   lex/flex definition file
417    # 3   pre-generated source file to copy if $(LEX) is empty
418    # 4   header file associated with the source file, if any
419    #----------------------------------------------------------------------
420    rule LEX_or_copy
421    {
422        if $(LEX)
423        {
424          Echo Generating $(1) from $(LEX) ;
425          DEPENDS $(1) : $(2) ;
426          Lex_with_options $(1) : $(2) ;
427        }
428        else
429        {
430          Echo Copying $(1) from $(4) ;
431            File $(1) : $(3) ;
432        }
433    
434        # make the header dependent
435        if $(4)
436        {
437          INCLUDES $(1) : $(4) ;
438        }
439    
440        Clean clean : $(1) ;
441    }
442    
443    # run LEX using options specified in LEXOPTS
444    actions Lex_with_options
445    {
446      $(LEX) $(LEXOPTS) -o$(1) $(2)
447    }
448    
449    

Legend:
Removed from v.59  
changed lines
  Added in v.60

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22