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

Contents of /trunk/tcltk98/jam/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 97 - (show annotations) (download)
Fri Dec 9 03:49:19 2005 UTC (18 years, 7 months ago) by jds
File size: 10751 byte(s)
Minor fixes to:
 - continue killing compiler warnings on gcc & msvc 
 - start working on function/data pointer mismatches
 - documentation tweaks

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

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