/[ascend]/trunk/tcltk98/jam/Jamfile
ViewVC logotype

Contents of /trunk/tcltk98/jam/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (show annotations) (download)
Sat Jan 22 14:22:13 2005 UTC (19 years, 9 months ago) by jds
File size: 11055 byte(s)
Initial commit of WinVC7 and jam build files.  jam builds Ascend base libs and tcltk98 executable on Windows using msvc, borland, mingw, and watcom (watcom can't yet link executable due to lack of isnan() and copysign() functions).

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

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