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

Contents of /trunk/tcltk98/generic/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


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

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