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

Annotation of /trunk/tcltk98/generic/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 129 - (hide annotations) (download)
Tue Dec 20 20:22:56 2005 UTC (18 years, 7 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 jds 129 #
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