/[ascend]/trunk/tcltk98/jam/Jamrules.in
ViewVC logotype

Annotation of /trunk/tcltk98/jam/Jamrules.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 51 - (hide annotations) (download)
Sat May 14 01:33:48 2005 UTC (19 years, 2 months ago) by jds
File size: 8507 byte(s)
Minor upgrade to jam build files (correct typo in compiler selection logic).
1 jds 40 #
2     # Jamrules support file for building Ascend4
3     # (see http://www.freetype.org/jam/index.html)
4     #
5     # This file is part of the Ascend Build System.
6     #
7     # Copyright (C) 2004 Jerry D. St.Clair
8     #
9     # The Ascend Build System is free software; you can redistribute
10     # it and/or modify it under the terms of the GNU General Public
11     # License as published by the Free Software Foundation; either
12     # 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,
15     # but WITHOUT ANY WARRANTY; without even the implied warranty of
16     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17     # GNU General Public License for more details.
18     #
19     # You should have received a copy of the GNU General Public License
20     # along with the program; if not, write to the Free Software
21     # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA.
22     # Check the file named COPYING.
23     #---------------------------------------------------------------------------
24     #
25     # UNDER CONSTRUCTION
26     #
27     # This is a template Jamrules file which supports building the
28     # Tcl/Tk version of the Ascend modeling system, as well as a static
29     # library of Tcl/Tk interface functionality. The Ascend jam build
30     # system currently supports building the libraries using the MSVC,
31     # Borland, MinGW, and Watcom compilers.
32     #
33     # INSTALLATION IS NOT WORKING IN THE CURRENT VERSION.
34     #
35     # It is not currently customized by the Ascend configure mechanism,
36     # although this may be implemented in the future.
37     #
38     # Users should copy/rename this file to 'Jamrules', then modify
39     # the settings manually for their particular system. Ascend
40 jds 47 # cannot be built by jam unless the Jambase file is present.
41 jds 40 #
42     # User-customized Jamrules files should not be placed in version
43     # control. Only the Jamrules.in template should be versioned.
44     #
45     #---------------------------------------------------------------------------
46    
47 jds 47 # root directory for installation
48 jds 40 prefix = c:\\dev ;
49     INSTALL_ROOT = $(prefix)$(SLASH)Ascend4_install ;
50    
51 jds 47 # name of the builder of the executable (in double quotes)
52     BUILD_CREDIT = "anonymous" ;
53 jds 51
54 jds 40 # Root dir of Ascend base library sources.
55     ASC_BASE_ROOT = ..$(SLASH)..$(SLASH)base$(SLASH)generic ;
56    
57     # Root dir of Ascend libraries - will be qualified for compiler & build type
58     ASC_BASE_LIBDIR = ..$(SLASH)..$(SLASH)base$(SLASH)jam ;
59    
60     # root directories for Tcl and Tk libraries
61     TCL_DIR = ..$(SLASH)..$(SLASH)..$(SLASH)Tcl ;
62     TK_DIR = $(TCL_DIR) ;
63    
64     # Set the Tcl/Tk/tkTable import library names here to override the
65     # default, compiler-specific names. Comment out to use defaults.
66 jds 47 # TCL_LIBRARY = tcl80$(SUFLIB) ;
67 jds 40 # TK_LIBRARY = tk80$(SUFLIB) ;
68     # TKTABLE_LIB = tkTable$(SUFLIB) ;
69    
70     EXE_NAME = Ascend4 ;
71     ASC_TCLTK98_LIBNAME = libasc_tcltk98 ;
72     ASC_TCLTK98_LIB = $(ASC_TCLTK98_LIBNAME)$(SUFLIB) ;
73    
74     # Install directories - comment to not install that class of file
75     INSTALL_BIN_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)bin ;
76     INSTALL_DOC_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)doc ;
77     INSTALL_MODELS_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)models ;
78     INSTALL_ASC_TK_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)Tk ;
79     INSTALL_USER_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)user_models ;
80     INSTALL_TCL_DIR = $(INSTALL_ROOT)$(SLASH)Tcl ;
81    
82     # Locations of pre-built install files
83     ASC_DOC_DIR = ;
84     ASC_MODELS_DIR = ..$(SLASH)..$(SLASH)models ;
85     ASC_TK_DIR = ..$(SLASH)TK ;
86    
87     ASC_BASE_LIBS =
88 jds 51 $(ASC_BASE_LIBDIR)$(BUILD_SUBDIR)$(SLASH)$(ASC_COMPILER_LIB)
89     $(ASC_BASE_LIBDIR)$(BUILD_SUBDIR)$(SLASH)$(ASC_GENERAL_LIB)
90     $(ASC_BASE_LIBDIR)$(BUILD_SUBDIR)$(SLASH)$(ASC_SOLVER_LIB)
91     $(ASC_BASE_LIBDIR)$(BUILD_SUBDIR)$(SLASH)$(ASC_UTILITIES_LIB)
92     $(ASC_BASE_LIBDIR)$(BUILD_SUBDIR)$(SLASH)$(ASC_PACKAGES_LIB)
93 jds 40 ;
94    
95     #======================================================================
96     # FORTRAN options - set to override compiler defaults
97     #
98     # Your FORTRAN compiler
99     #FORTRAN = g77 ;
100    
101     # Fortran compilation flags & options:
102     # These are used for making the ASCEND libraries based on FORTRAN codes.
103     # These should be set to get the best performance possible out of your
104     # f77 compiler without optimizing away functions that are not obviously
105     # called, as some compilers do by default.
106     #
107     #FORTRANFLAGS = -c -I4 -O -lg2c ;
108    
109     # F77LIBS is for the base f77 libraries. If you are linking no f77
110     # objects to ascend, it may be left undefined.
111     # Set F77LIBS appropriate for your machine and desired loader behavior.
112     #
113     #F77_LIBS = ;
114    
115     #======================================================================
116     # FORTRAN LIBRARIES
117     #
118     # Point BLASLIB and LPAKLIB to machine-specific BLAS and LINPACK
119     # libraries (if you have them) to get the best speed out of ASCEND.
120     # Otherwise, generic versions can be built if FORTRAN is available.
121     #======================================================================
122    
123     # path to the lsode library - will be built if == 'libasc_lsode'
124     #LSODLIB = libasc_lsode$(SUFLIB) ;
125    
126     # path to the blas library - will be built if == 'libasc_blas'
127     #BLASLIB = libasc_blas$(SUFLIB) ;
128    
129     # path to the linpack library - will be built if == 'libasc_lpak'
130     #LPAKLIB = libasc_lpak$(SUFLIB) ;
131    
132     FOR_LIBS = $(LSODLIB) $(MINOSLIB) $(CONOPTLIB) $(LPAKLIB) $(BLASLIB) $(F77_LIBS) ;
133    
134     #======================================================================
135     # PACKAGES
136     #
137     # Package settings for building Ascend.
138     # Packages are bits of compiled code that represent models, or solvers,
139     # or, in general, any bits of external code.
140     #
141     # Choose one of the following, comment out the others:
142     # STATIC_PACKAGES packages should be statically linked/loaded
143     # DYNAMIC_PACKAGES packages should be dynamically linked/loaded
144     # NO_PACKAGES no packages
145     #
146     # If STATIC_PACKAGES are chosen, also indicate the location of
147     # the packages in PACK_LIBS. Otherwise leave PACK_LIBS empty.
148     #======================================================================
149     HAVE_PACKAGES = STATIC_PACKAGES ;
150     #HAVE_PACKAGES = DYNAMIC_PACKAGES ;
151     #HAVE_PACKAGES = NO_PACKAGES ;
152    
153     PACK_LIBS = $(ASCLIB_PKG)$(SUFLIB) ;
154     #PACK_LIBS = ;
155    
156     #======================================================================
157     # TCL / TK
158     #
159     # Set the location of the Tcl/Tk import libraries and include files.
160     # The order should be -ltk -ltcl
161     #
162     # We also need the TkTable widget which does not come as a
163     # standard part of the Tcl/Tk distribution. This library can
164     # either be loaded statically or dynamically.
165     #
166     # If TK_LIBS and TK_HDRS are not properly set, ASCEND cannot build.
167     #======================================================================
168     TCL_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ;
169     TK_LIB_DIR ?= $(TK_DIR)$(SLASH)lib ;
170     TKTABLE_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ;
171    
172     if $(NT)
173     {
174 jds 51 if $(BCCROOT) || ( $(TOOLSET) = BORLANDC )
175 jds 40 {
176     TCL_LIBRARY ?= tcl80_bc$(SUFLIB) ;
177     TK_LIBRARY ?= tk80_bc$(SUFLIB) ;
178     TKTABLE_LIB ?= tkTable_bc$(SUFLIB) ;
179     }
180 jds 51 else if $(MSVCNT) || ( $(TOOLSET) = VISUALC )
181 jds 40 {
182     TCL_LIBRARY ?= tcl80$(SUFLIB) ;
183     TK_LIBRARY ?= tk80$(SUFLIB) ;
184     TKTABLE_LIB ?= tkTable$(SUFLIB) ;
185     }
186 jds 51 else if $(MINGW) || ( $(TOOLSET) = MINGW )
187 jds 40 {
188 jds 47 TCL_LIBRARY ?= libtcl80$(SUFLIB) ;
189     TK_LIBRARY ?= libtk80$(SUFLIB) ;
190     TKTABLE_LIB ?= libtkTable$(SUFLIB) ;
191 jds 40 }
192 jds 51 else if $(WATCOM) || ( $(TOOLSET) = WATCOM )
193 jds 40 {
194     TCL_LIBRARY ?= tcl80_wat$(SUFLIB) ;
195     TK_LIBRARY ?= tk80_wat$(SUFLIB) ;
196     TKTABLE_LIB ?= tkTable_wat$(SUFLIB) ;
197     }
198     }
199 jds 47 else if $(OS) = LINUX
200 jds 40 {
201     TCL_LIBRARY ?= libtcl80$(SUFLIB) ;
202     TK_LIBRARY ?= libtk80$(SUFLIB) ;
203     TKTABLE_LIB ?= libtkTable$(SUFLIB) ;
204     }
205     else
206     {
207     TCL_LIBRARY ?= tcl80$(SUFLIB) ;
208     TK_LIBRARY ?= tk80$(SUFLIB) ;
209     TKTABLE_LIB ?= tkTable$(SUFLIB) ;
210     }
211    
212     SEARCH on $(TCL_LIBRARY) = $(TCL_LIB_DIR) ;
213     SEARCH on $(TK_LIBRARY) = $(TK_LIB_DIR) ;
214     SEARCH on $(TKTABLE_LIB) = $(TKTABLE_LIB_DIR) ;
215     LOCATE on $(TCL_LIBRARY) = $(TCL_LIB_DIR) ;
216     LOCATE on $(TK_LIBRARY) = $(TK_LIB_DIR) ;
217     LOCATE on $(TKTABLE_LIB) = $(TKTABLE_LIB_DIR) ;
218    
219     # The tcl and tk library files
220     TK_LIBS = $(TK_LIBRARY) $(TCL_LIBRARY) ;
221    
222     # Location of the tcl.h and tk.h header files
223     TK_HDRS = $(TK_DIR)$(SLASH)include ;
224    
225     # Uncomment to copy Tcl/Tk dynamic libraries to install bin directory
226     INSTALL_TCLTK_LIBS = 1 ;
227    
228     # TclTk dynamic libraries to install to bin directory
229     TCL_LIBS_TO_INSTALL = tcl80 tclpip80 Tcl1680 Cw3215mt ;
230     TK_LIBS_TO_INSTALL = tk80 ;
231    

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