1 |
jds |
40 |
# |
2 |
|
|
# Jamfile to build Ascend Tcl/Tk98 interface |
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 |
|
|
# The jam build depends on specialized Jamrules and Jambase files. |
28 |
|
|
# A central version of these files is currently maintained in |
29 |
jds |
47 |
# ../../jam. This may change as work proceeds to decouple the |
30 |
jds |
40 |
# Ascend base from the original Tcl/Tk interface. |
31 |
|
|
# |
32 |
|
|
#--------------------------------------------------------------------------- |
33 |
|
|
# |
34 |
|
|
# To compile & install the executable: |
35 |
|
|
# |
36 |
|
|
# Modify the parameters below and in Jamrules for your system, then: |
37 |
|
|
# |
38 |
jds |
43 |
# jam -f ../../jam/Jambase ascend |
39 |
jds |
40 |
# |
40 |
|
|
#--------------------------------------------------------------------------- |
41 |
|
|
|
42 |
|
|
# TODO: remove if end up using SubDir rules |
43 |
|
|
JAM_GENERAL_DIR = ..$(SLASH)..$(SLASH)jam ; |
44 |
|
|
include $(JAM_GENERAL_DIR)$(SLASH)Jamrules_general ; |
45 |
|
|
include .$(SLASH)Jamrules ; |
46 |
|
|
|
47 |
|
|
srcdir = ..$(SLASH)generic ; |
48 |
|
|
|
49 |
|
|
ASC_INTERFACE_DIR = $(srcdir)$(SLASH)interface ; |
50 |
|
|
|
51 |
|
|
HDRS += $(srcdir) ; |
52 |
|
|
|
53 |
|
|
# symbolic targets to build Ascend executable |
54 |
|
|
DEPENDS all : ascend ; |
55 |
|
|
NOTFILE ascend ; |
56 |
|
|
|
57 |
|
|
#========================================================================= |
58 |
|
|
# Tcl/Tk Interface |
59 |
|
|
#========================================================================= |
60 |
|
|
|
61 |
|
|
ASC_TCLTK98_SOURCES = |
62 |
|
|
AscBitmaps.c |
63 |
jds |
47 |
AscPrintTcl.c |
64 |
jds |
40 |
BrowLogRel_io.c |
65 |
|
|
BrowWhen_io.c |
66 |
|
|
BrowserMethod.c |
67 |
|
|
BrowserProc.c |
68 |
|
|
BrowserQuery.c |
69 |
|
|
BrowserRel_io.c |
70 |
|
|
Commands.c |
71 |
|
|
DebugProc.c |
72 |
|
|
DisplayProc.c |
73 |
|
|
EnvVarProc.c |
74 |
|
|
HelpProc.c |
75 |
|
|
Integrators.c |
76 |
|
|
LibraryProc.c |
77 |
|
|
Lsode.c |
78 |
|
|
MtxProc.c |
79 |
|
|
ProbeProc.c |
80 |
|
|
Qlfdid.c |
81 |
|
|
ScriptProc.c |
82 |
|
|
Sensitivity.c |
83 |
|
|
SimsProc.c |
84 |
|
|
SlvProc.c |
85 |
|
|
SolverProc.c |
86 |
|
|
UnitsProc.c |
87 |
|
|
UserData.c |
88 |
|
|
plot.c |
89 |
|
|
tkConsole.c |
90 |
|
|
typelex.c |
91 |
|
|
old_utils.c |
92 |
|
|
; |
93 |
|
|
|
94 |
|
|
# set temporary file location |
95 |
|
|
LOCATE_TARGET = $(BUILD_DIR)$(SLASH)interface ; |
96 |
|
|
SEARCH_SOURCE = $(ASC_INTERFACE_DIR) ; |
97 |
|
|
|
98 |
|
|
# Build the static libary of interface functions |
99 |
|
|
Library $(ASC_TCLTK98_LIBNAME) : $(ASC_TCLTK98_SOURCES) ; |
100 |
|
|
MakeLocate $(ASC_TCLTK98_LIB) : $(BUILD_DIR) ; |
101 |
|
|
|
102 |
|
|
# Build the Ascend executable |
103 |
|
|
Main $(EXE_NAME) : Driver.c ; |
104 |
|
|
|
105 |
jds |
47 |
ObjectCcFlags $(ASC_TCLTK98_SOURCES) Driver.c : $(SOLVER_DEFS) -DTIMESTAMP="\"\\\"by $(BUILD_CREDIT)\\\"\"" ; |
106 |
jds |
40 |
ObjectHdrs $(ASC_TCLTK98_SOURCES) Driver.c : $(ASC_BASE_ROOT) $(TK_HDRS) ; |
107 |
|
|
|
108 |
|
|
LinkLibraries $(EXE_NAME) : $(ASC_TCLTK98_LIB) $(ASC_BASE_LIBS) $(PACKAGE_LIBS) ; |
109 |
|
|
NEEDLIBS on $(EXE_NAME)$(SUFEXE) += |
110 |
|
|
$(FOR_LIBS) |
111 |
|
|
$(TK_LIBS) |
112 |
|
|
$(TKTABLE_LIB) |
113 |
|
|
$(X11_LIBS) |
114 |
|
|
$(PC_LIBS) |
115 |
|
|
$(MATH_LIBS) |
116 |
|
|
$(DEBUG_LIBS) |
117 |
|
|
; |
118 |
|
|
|
119 |
|
|
DEPENDS ascend : $(EXE_NAME)$(SUFEXE) ; |
120 |
|
|
|
121 |
|
|
#Depends $(EXE_NAME)$(SUFEXE) : |
122 |
|
|
# $(FOR_LIBS) |
123 |
|
|
# $(TK_LIBS) |
124 |
|
|
# $(TKTABLE_LIB) |
125 |
|
|
# $(X11_LIBS) |
126 |
|
|
# $(PC_LIBS) |
127 |
|
|
# $(MATH_LIBS) |
128 |
|
|
# $(DEBUG_LIBS) ; |
129 |
|
|
|
130 |
|
|
# set executable build location |
131 |
|
|
MakeLocate $(EXE_NAME)$(SUFEXE) : $(BUILD_DIR) ; |
132 |
|
|
|
133 |
|
|
if $(NT) |
134 |
|
|
{ |
135 |
|
|
if ($(BCCROOT) || ($(TOOLSET) = BORLANDC)) |
136 |
|
|
{ |
137 |
|
|
# need to fix Borland to include standard libraries location |
138 |
|
|
LINKFLAGS on $(EXE_NAME)$(SUFEXE) += |
139 |
|
|
-L$(STDLIBPATH) -tW |
140 |
|
|
-L$(TCL_LIB_DIR) |
141 |
|
|
-L$(TK_LIB_DIR) |
142 |
|
|
-L$(TKTABLE_LIB_DIR) |
143 |
|
|
; |
144 |
|
|
if ! $(NODEBUG) |
145 |
|
|
{ LINKFLAGS on $(EXE_NAME)$(SUFEXE) += -v ; } |
146 |
|
|
} |
147 |
|
|
else if $(MSVCNT) || $(TOOLSET) = VISUALC) |
148 |
|
|
{ |
149 |
|
|
LINKFLAGS on $(EXE_NAME)$(SUFEXE) += |
150 |
|
|
/L$(TCL_LIB_DIR) |
151 |
|
|
/L$(TK_LIB_DIR) |
152 |
|
|
/L$(TKTABLE_LIB_DIR) |
153 |
|
|
; |
154 |
|
|
} |
155 |
|
|
else if $(MINGW) || $(TOOLSET) = MINGW) |
156 |
|
|
{ |
157 |
|
|
LINKFLAGS on $(EXE_NAME)$(SUFEXE) += |
158 |
|
|
-L$(TCL_LIB_DIR) |
159 |
|
|
-L$(TK_LIB_DIR) |
160 |
|
|
-L$(TKTABLE_LIB_DIR) |
161 |
|
|
; |
162 |
|
|
} |
163 |
|
|
else if $(WATCOM) || $(TOOLSET) = WATCOM) |
164 |
|
|
{ |
165 |
|
|
LINKFLAGS on $(EXE_NAME)$(SUFEXE) += |
166 |
|
|
-\"LIBPATH $(TCL_LIB_DIR)\" |
167 |
|
|
-\"LIBPATH $(TK_LIB_DIR)\" |
168 |
|
|
-\"LIBPATH $(TKTABLE_LIB_DIR)\" |
169 |
|
|
; |
170 |
|
|
} |
171 |
|
|
} |
172 |
|
|
else if $(UNIX) |
173 |
|
|
{ |
174 |
|
|
LINKFLAGS on $(EXE_NAME)$(SUFEXE) += |
175 |
|
|
-L$(TCL_LIB_DIR) |
176 |
|
|
-L$(TK_LIB_DIR) |
177 |
|
|
-L$(TKTABLE_LIB_DIR) |
178 |
|
|
; |
179 |
|
|
} |
180 |
|
|
|
181 |
|
|
#====================================================================== |
182 |
|
|
# Directory-specific Build Instructions |
183 |
|
|
#====================================================================== |
184 |
|
|
|
185 |
|
|
#---------------------------------------------------------------------- |
186 |
|
|
# typelex.c |
187 |
|
|
# |
188 |
|
|
# typelex.c implements the Ascend lexical typer. It is |
189 |
|
|
# generated by lex/flex if available in the build environment |
190 |
|
|
# (i.e. $(LEX) is non-null in jam). If lex/flex is not available, |
191 |
|
|
# a copy of a pre-generated file is used instead. |
192 |
|
|
#---------------------------------------------------------------------- |
193 |
|
|
|
194 |
|
|
# typelex.c needs a special define (Watcom requires the '=""'. ) |
195 |
|
|
ObjectCcFlags typelex.c : -DYY_USE_CONST="" ; |
196 |
|
|
|
197 |
|
|
typelex_c = [ FGristSourceFiles typelex.c ] ; |
198 |
|
|
typelex_h = typelex.h ; |
199 |
|
|
typelex_l = typelex.l ; |
200 |
|
|
LEXOPTS on $(typelex_c) = -Ptyp_ ; |
201 |
|
|
|
202 |
|
|
LOCATE on $(typelex_c) = $(SEARCH_SOURCE) ; |
203 |
|
|
LOCATE on $(typelex_h) = $(SEARCH_SOURCE) ; |
204 |
|
|
LOCATE on $(typelex_l) = $(SEARCH_SOURCE) ; |
205 |
|
|
|
206 |
|
|
LEX_or_copy $(typelex_c) : $(typelex_l) : typelex_c_no_flex : $(typelex_h) ; |
207 |
|
|
|
208 |
|
|
#====================================================================== |
209 |
|
|
# Install directives |
210 |
|
|
#====================================================================== |
211 |
|
|
if $(INSTALL_BIN_DIR) |
212 |
|
|
{ |
213 |
|
|
InstallBin $(INSTALL_BIN_DIR) : $(EXE_NAME)$(SUFEXE) ; |
214 |
|
|
|
215 |
|
|
if $(INSTALL_TCLTK_LIBS) |
216 |
|
|
{ |
217 |
|
|
if $(NT) |
218 |
|
|
{ |
219 |
|
|
SUFDLIB = .dll ; |
220 |
|
|
} |
221 |
|
|
else |
222 |
|
|
{ |
223 |
|
|
SUFDLIB = .a ; |
224 |
|
|
} |
225 |
|
|
LOCATE on $(TCL_LIBS_TO_INSTALL)$(SUFDLIB) = $(TCL_DIR)$(SLASH)bin ; |
226 |
|
|
LOCATE on $(TK_LIBS_TO_INSTALL)$(SUFDLIB) = $(TK_DIR)$(SLASH)bin ; |
227 |
|
|
|
228 |
|
|
InstallFile $(INSTALL_BIN_DIR) : $(TCL_LIBS_TO_INSTALL)$(SUFDLIB) ; |
229 |
|
|
InstallFile $(INSTALL_BIN_DIR) : $(TK_LIBS_TO_INSTALL)$(SUFDLIB) ; |
230 |
|
|
} |
231 |
|
|
} |
232 |
|
|
|
233 |
|
|
if $(INSTALL_MODELS_DIR) |
234 |
|
|
{ |
235 |
|
|
INSTALL_MODELS_FILES = |
236 |
|
|
Guthrie_costs.a4l |
237 |
|
|
KenPendings.a4l |
238 |
|
|
README |
239 |
|
|
README.html |
240 |
|
|
README.txt |
241 |
|
|
abc_flowsheet.a4l |
242 |
|
|
atoms.a4l |
243 |
|
|
basemodel.a4l |
244 |
|
|
bvp.a4l |
245 |
|
|
casestudy.a4s |
246 |
|
|
collocation.a4l |
247 |
|
|
collocation.a4s |
248 |
|
|
collocation_tests.a4s |
249 |
|
|
column.a4l |
250 |
|
|
components.a4l |
251 |
|
|
cost_column.a4l |
252 |
|
|
distance_calc.a4c |
253 |
|
|
dyn_column.a4l |
254 |
|
|
dyn_flash.a4l |
255 |
|
|
dyn_separation_demos.a4s |
256 |
|
|
dyn_tank.a4c |
257 |
|
|
dyn_tank.a4s |
258 |
|
|
flash.a4l |
259 |
|
|
force1d.a4c |
260 |
|
|
force1d.a4s |
261 |
|
|
heatex.a4c |
262 |
|
|
heatex.a4s |
263 |
|
|
ivpsystem.a4l |
264 |
|
|
kinetics.a4l |
265 |
|
|
kinetics.a4s |
266 |
|
|
linear_balance.a4c |
267 |
|
|
linear_balance.a4s |
268 |
|
|
measures.a4l |
269 |
|
|
mix.a4l |
270 |
|
|
mix.a4s |
271 |
|
|
old_separation_demos.a4s |
272 |
|
|
phaseq.a4c |
273 |
|
|
phaseq.a4s |
274 |
|
|
phaseq_comp.a4c |
275 |
|
|
phaseq_comp.a4s |
276 |
|
|
phases.a4l |
277 |
|
|
pipeline.a4c |
278 |
|
|
pipeline.a4s |
279 |
|
|
plot.a4l |
280 |
|
|
plotbvp.a4c |
281 |
|
|
plotbvp.a4s |
282 |
|
|
plotcol.a4c |
283 |
|
|
rachford.a4c |
284 |
|
|
rachford.a4s |
285 |
|
|
ratelaws.a4c |
286 |
|
|
reactor.a4l |
287 |
|
|
reactor.a4s |
288 |
|
|
roots_of_poly.a4c |
289 |
|
|
separation_demos.a4s |
290 |
|
|
set_intervals.tcl |
291 |
|
|
simple_fs.a4c |
292 |
|
|
simple_fs.a4s |
293 |
|
|
simple_fs_cost.a4c |
294 |
|
|
simple_fs_cost.a4s |
295 |
|
|
simple_fs_ext.a4c |
296 |
|
|
sonic.a4c |
297 |
|
|
sonic.a4s |
298 |
|
|
splitter.a4l |
299 |
|
|
splitter.a4s |
300 |
|
|
stream_holdup.a4l |
301 |
|
|
system.a4l |
302 |
|
|
ternary_plot.a4l |
303 |
|
|
thermodynamics.a4l |
304 |
|
|
vessel.a4c |
305 |
|
|
vessel.a4s |
306 |
|
|
vesselMethods.a4c |
307 |
|
|
vesselNotes.a4c |
308 |
|
|
vesselParams.a4c |
309 |
|
|
vesselPlain.a4c |
310 |
|
|
vesselPlot.a4c |
311 |
|
|
vesselPlot.a4s |
312 |
|
|
vesselStudy.a4s |
313 |
|
|
vesselTabulated.a4c |
314 |
|
|
vesselTabulated.a4s |
315 |
|
|
when_demo.a4c |
316 |
|
|
when_demo.a4s |
317 |
|
|
z-addmethod.a4c |
318 |
|
|
z-align.a4c |
319 |
|
|
z-alike.a4c |
320 |
|
|
z-anontype.a4c |
321 |
|
|
z-arsubs.a4c |
322 |
|
|
z-context.a4c |
323 |
|
|
z-emptyarg.a4c |
324 |
|
|
z-emptyfor.a4c |
325 |
|
|
z-iflogic.a4c |
326 |
|
|
z-indirect.a4c |
327 |
|
|
z-isawhere.a4c |
328 |
|
|
z-relname.a4c |
329 |
|
|
z-suite.a4s |
330 |
|
|
; |
331 |
|
|
|
332 |
|
|
INSTALL_MODELS_BEN_FILES = |
333 |
|
|
benHGthermo.a4l |
334 |
|
|
bencolumn.a4l |
335 |
|
|
bencomponents.a4l |
336 |
|
|
benflash.a4l |
337 |
|
|
benplot.a4l |
338 |
|
|
benplotcol.a4c |
339 |
|
|
benpropertyoptions.a4l |
340 |
|
|
benstream.a4l |
341 |
|
|
test_components.a4s |
342 |
|
|
; |
343 |
|
|
|
344 |
|
|
LOCATE on $(INSTALL_MODELS_FILES) = $(ASC_MODELS_DIR) ; |
345 |
|
|
InstallFile $(INSTALL_MODELS_DIR) : $(INSTALL_MODELS_FILES) ; |
346 |
|
|
|
347 |
|
|
LOCATE on $(INSTALL_MODELS_BEN_FILES) = $(ASC_MODELS_DIR)$(SLASH)ben ; |
348 |
|
|
InstallFile $(INSTALL_MODELS_DIR)$(SLASH)ben : $(INSTALL_MODELS_BEN_FILES) ; |
349 |
|
|
} |
350 |
|
|
|
351 |
|
|
if $(INSTALL_ASC_TK_DIR) |
352 |
|
|
{ |
353 |
|
|
INSTALL_TK_FILES = |
354 |
|
|
AscendRC |
355 |
|
|
BrowserProc.tcl |
356 |
|
|
CallbackProc.tcl |
357 |
|
|
DebugProc.tcl |
358 |
|
|
DisplayProc.tcl |
359 |
|
|
GlobalProc.tcl |
360 |
|
|
HubProc.tcl |
361 |
|
|
LibraryProc.tcl |
362 |
|
|
License-Warranty.tcl |
363 |
|
|
MtxProc.tcl |
364 |
|
|
NoteboxProc.tcl |
365 |
|
|
ProbeProc.tcl |
366 |
|
|
ScriptProc.tcl |
367 |
|
|
SolverProc.tcl |
368 |
|
|
ToolboxProc.tcl |
369 |
|
|
TypetreeProc.tcl |
370 |
|
|
UnitsProc.tcl |
371 |
|
|
UtilProc.tcl |
372 |
|
|
View.tcl |
373 |
|
|
WWWHelpProc.tcl |
374 |
|
|
WhoDunnit.tcl |
375 |
|
|
ascStudy.tcl |
376 |
|
|
ascend.ad |
377 |
|
|
ascend.tcl |
378 |
|
|
ascplot.tcl |
379 |
|
|
ascplotproc.tcl |
380 |
|
|
baatest.tcl |
381 |
|
|
browser.tcl |
382 |
|
|
callback.tcl |
383 |
|
|
debug.tcl |
384 |
|
|
display.tcl |
385 |
|
|
generalk.tcl |
386 |
|
|
library.tcl |
387 |
|
|
main.tcl |
388 |
|
|
mergedat.tcl |
389 |
|
|
methods.tcl |
390 |
|
|
mps.tcl |
391 |
|
|
mtx.tcl |
392 |
|
|
notebox.tcl |
393 |
|
|
pane.tcl |
394 |
|
|
probe.tcl |
395 |
|
|
script.tcl |
396 |
|
|
solver.tcl |
397 |
|
|
tclIndex |
398 |
|
|
toolbox.tcl |
399 |
|
|
typetree.tcl |
400 |
|
|
units.tcl |
401 |
|
|
util.tcl |
402 |
|
|
; |
403 |
|
|
|
404 |
|
|
INSTALL_TK_BITMAPS_FILES = |
405 |
|
|
a4c.xbm |
406 |
|
|
a4l.xbm |
407 |
|
|
a4s.xbm |
408 |
|
|
c.xbm |
409 |
|
|
cpp.xbm |
410 |
|
|
crash.xbm |
411 |
|
|
cut.xf.xbm |
412 |
|
|
delete.xf.xbm |
413 |
|
|
emacs.xbm |
414 |
|
|
error |
415 |
|
|
feet.xbm |
416 |
|
|
folder |
417 |
|
|
global.xf.xbm |
418 |
|
|
gnu-ascend.xbm |
419 |
|
|
gnu.xbm |
420 |
|
|
grablock.xbm |
421 |
|
|
gray25 |
422 |
|
|
gray33 |
423 |
|
|
gray50 |
424 |
|
|
graybar |
425 |
|
|
grill |
426 |
|
|
h.xbm |
427 |
|
|
hourglass |
428 |
|
|
info |
429 |
|
|
opt.xbm |
430 |
|
|
place.xf.xbm |
431 |
|
|
questhead |
432 |
|
|
question |
433 |
|
|
stop.xbm |
434 |
|
|
text |
435 |
|
|
time.xbm |
436 |
|
|
toolAttributes.xbm |
437 |
|
|
tree.xf.xbm |
438 |
|
|
warning.xf.xbm |
439 |
|
|
wfeet.xbm |
440 |
|
|
; |
441 |
|
|
|
442 |
|
|
INSTALL_TK_TEMPLATES_FILES = |
443 |
|
|
AscConfirm.t |
444 |
|
|
AscMonoEntry1.t |
445 |
|
|
AscMonoEntry2.t |
446 |
|
|
AscMonoEntry4.t |
447 |
|
|
amlscroll.tcl |
448 |
|
|
ascKeepOnTop.tcl |
449 |
|
|
ascListSelect.tcl |
450 |
|
|
ascListSelectB1.tcl |
451 |
|
|
ascMsgBox.tcl |
452 |
|
|
ascdialog.tcl |
453 |
|
|
ascfontsel.tcl |
454 |
|
|
ascparm.tcl |
455 |
|
|
balloon.tcl |
456 |
|
|
asctkfbox.tcl |
457 |
|
|
; |
458 |
|
|
|
459 |
|
|
LOCATE on $(INSTALL_TK_FILES) = $(ASC_TK_DIR) ; |
460 |
|
|
InstallFile $(INSTALL_ASC_TK_DIR) : $(INSTALL_TK_FILES) ; |
461 |
|
|
|
462 |
|
|
LOCATE on $(INSTALL_TK_BITMAPS_FILES) = $(ASC_TK_DIR)$(SLASH)bitmaps ; |
463 |
|
|
InstallFile $(INSTALL_ASC_TK_DIR)$(SLASH)bitmaps : $(INSTALL_TK_BITMAPS_FILES) ; |
464 |
|
|
|
465 |
|
|
LOCATE on $(INSTALL_TK_TEMPLATES_FILES) = $(ASC_TK_DIR)$(SLASH)templates ; |
466 |
|
|
InstallFile $(INSTALL_ASC_TK_DIR)$(SLASH)templates : $(INSTALL_TK_TEMPLATES_FILES) ; |
467 |
|
|
} |