1 |
# |
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 |
# cannot be built by jam unless the Jambase file is present. |
41 |
# |
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 |
# root directory for installation |
48 |
prefix = c:\\dev ; |
49 |
INSTALL_ROOT = $(prefix)$(SLASH)Ascend4-0.9.5 ; |
50 |
|
51 |
# name of the builder of the executable (in double quotes) |
52 |
BUILD_CREDIT = "anonymous" ; |
53 |
|
54 |
# Path to general jam info |
55 |
# JAM_GENERAL_DIR = ..$(SLASH)..$(SLASH)jam ; |
56 |
|
57 |
# Root dir of Ascend base library sources. |
58 |
#ASC_BASE_ROOT = ..$(SLASH)..$(SLASH)base$(SLASH)generic ; |
59 |
|
60 |
# Root dir of Ascend libraries - will be qualified for compiler & build type |
61 |
#ASC_BASE_LIBDIR = ..$(SLASH)..$(SLASH)base$(SLASH)jam ; |
62 |
|
63 |
# root directories for Tcl and Tk libraries |
64 |
TCL_DIR = ..$(SLASH)..$(SLASH)..$(SLASH)Tcl ; |
65 |
TK_DIR = $(TCL_DIR) ; |
66 |
|
67 |
# Set the Tcl/Tk/tkTable import library names here to override the |
68 |
# default, compiler-specific names. Comment out to use defaults. |
69 |
# TCL_LIBRARY = tcl80$(SUFLIB) ; |
70 |
# TK_LIBRARY = tk80$(SUFLIB) ; |
71 |
# TKTABLE_LIB = tkTable$(SUFLIB) ; |
72 |
|
73 |
if $(NODEBUG) |
74 |
{ EXE_NAME = ascopt4 ; } |
75 |
else |
76 |
{ EXE_NAME = ascend4 ; } |
77 |
|
78 |
ASC_TCLTK98_LIBNAME = libasc_tcltk98 ; |
79 |
ASC_TCLTK98_LIB = $(ASC_TCLTK98_LIBNAME)$(SUFLIB) ; |
80 |
|
81 |
# Install directories - comment to not install that class of file |
82 |
INSTALL_BIN_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)bin ; |
83 |
INSTALL_DOC_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)doc ; |
84 |
INSTALL_MODELS_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)models ; |
85 |
INSTALL_ASC_TK_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)Tk ; |
86 |
INSTALL_USER_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)user_models ; |
87 |
INSTALL_TCL_DIR = $(INSTALL_ROOT)$(SLASH)Tcl ; |
88 |
|
89 |
# Locations of pre-built install files |
90 |
ASC_DOC_DIR = ; |
91 |
ASC_MODELS_DIR = ..$(SLASH)..$(SLASH)models ; |
92 |
ASC_TK_DIR = ..$(SLASH)TK ; |
93 |
|
94 |
# Paths to base libraries |
95 |
ASC_BASE_LIBS_QUAL = |
96 |
$(JAM_GENERAL_DIR)$(SLASH)$(ASC_BASE_LIBS_RELPATH)$(ASC_BASE_LIBS) ; |
97 |
|
98 |
# Paths to FORTRAN libraries |
99 |
FOR_LIBS = |
100 |
$(JAM_GENERAL_DIR)$(SLASH)$(LSODLIB_RELPATH)$(SLASH)$(LSODLIB) |
101 |
$(JAM_GENERAL_DIR)$(SLASH)$(MINOSLIB_RELPATH)$(SLASH)$(MINOSLIB) |
102 |
$(JAM_GENERAL_DIR)$(SLASH)$(CONOPTLIB_RELPATH)$(SLASH)$(CONOPTLIB) |
103 |
$(JAM_GENERAL_DIR)$(SLASH)$(LPAKLIB_RELPATH)$(SLASH)$(LPAKLIB) |
104 |
$(JAM_GENERAL_DIR)$(SLASH)$(BLASLIB_RELPATH)$(SLASH)$(BLASLIB) |
105 |
$(F77_LIBS) |
106 |
; |
107 |
|
108 |
#====================================================================== |
109 |
# TCL / TK |
110 |
# |
111 |
# Set the location of the Tcl/Tk import libraries and include files. |
112 |
# The order should be -ltk -ltcl |
113 |
# |
114 |
# We also need the TkTable widget which does not come as a |
115 |
# standard part of the Tcl/Tk distribution. This library can |
116 |
# either be loaded statically or dynamically. |
117 |
# |
118 |
# If TK_LIBS and TK_HDRS are not properly set, ASCEND cannot build. |
119 |
#====================================================================== |
120 |
TCL_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ; |
121 |
TK_LIB_DIR ?= $(TK_DIR)$(SLASH)lib ; |
122 |
TKTABLE_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ; |
123 |
|
124 |
if $(NT) |
125 |
{ |
126 |
if $(BCCROOT) || ( $(TOOLSET) = BORLANDC ) |
127 |
{ |
128 |
TCL_LIBRARY ?= tcl80_bc$(SUFLIB) ; |
129 |
TK_LIBRARY ?= tk80_bc$(SUFLIB) ; |
130 |
TKTABLE_LIB ?= tkTable_bc$(SUFLIB) ; |
131 |
} |
132 |
else if $(MSVCNT) || ( $(TOOLSET) = VISUALC ) |
133 |
{ |
134 |
TCL_LIBRARY ?= tcl80$(SUFLIB) ; |
135 |
TK_LIBRARY ?= tk80$(SUFLIB) ; |
136 |
TKTABLE_LIB ?= tkTable$(SUFLIB) ; |
137 |
} |
138 |
else if $(MINGW) || ( $(TOOLSET) = MINGW ) |
139 |
{ |
140 |
TCL_LIBRARY ?= libtcl80$(SUFLIB) ; |
141 |
TK_LIBRARY ?= libtk80$(SUFLIB) ; |
142 |
TKTABLE_LIB ?= libtkTable$(SUFLIB) ; |
143 |
} |
144 |
else if $(WATCOM) || ( $(TOOLSET) = WATCOM ) |
145 |
{ |
146 |
TCL_LIBRARY ?= tcl80_wat$(SUFLIB) ; |
147 |
TK_LIBRARY ?= tk80_wat$(SUFLIB) ; |
148 |
TKTABLE_LIB ?= tkTable_wat$(SUFLIB) ; |
149 |
} |
150 |
} |
151 |
else if $(OS) = LINUX |
152 |
{ |
153 |
TCL_LIBRARY ?= libtcl80$(SUFLIB) ; |
154 |
TK_LIBRARY ?= libtk80$(SUFLIB) ; |
155 |
TKTABLE_LIB ?= libtkTable$(SUFLIB) ; |
156 |
} |
157 |
else |
158 |
{ |
159 |
TCL_LIBRARY ?= tcl80$(SUFLIB) ; |
160 |
TK_LIBRARY ?= tk80$(SUFLIB) ; |
161 |
TKTABLE_LIB ?= tkTable$(SUFLIB) ; |
162 |
} |
163 |
|
164 |
# The tcl and tk library files |
165 |
TK_LIBS = |
166 |
$(TK_LIB_DIR)$(SLASH)$(TK_LIBRARY) |
167 |
$(TCL_LIB_DIR)$(SLASH)$(TCL_LIBRARY) |
168 |
; |
169 |
|
170 |
TKTABLE_LIB = $(TKTABLE_LIB_DIR)$(SLASH)$(TKTABLE_LIB) ; |
171 |
|
172 |
# Location of the tcl.h and tk.h header files |
173 |
TK_HDRS = $(TK_DIR)$(SLASH)include ; |
174 |
|
175 |
# Uncomment to copy Tcl/Tk dynamic libraries to install bin directory |
176 |
INSTALL_TCLTK_LIBS = 1 ; |
177 |
|
178 |
# TclTk dynamic libraries to install to bin directory |
179 |
TCL_LIBS_TO_INSTALL = tcl80 tclpip80 Tcl1680 Cw3215mt ; |
180 |
TK_LIBS_TO_INSTALL = tk80 ; |