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

Contents of /trunk/tcltk98/generic/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 129 - (show annotations) (download)
Tue Dec 20 20:22:56 2005 UTC (14 years, 2 months ago) by jds
File size: 11020 byte(s)
Reworked jam build system:
- integrated Jamrules.in and Jamrules_tcltk98.in with autoconf
- now support single-point building from trunk/jam
- old jam files still in place but deprecated
- may be buggy, please report back bugs for fixing

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

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