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

Annotation of /trunk/tcltk98/jam/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 47 - (hide annotations) (download)
Thu Apr 7 23:59:22 2005 UTC (19 years, 7 months ago) by jds
File size: 11124 byte(s)
Updated jam build files:
-Added support for -DTIMESTAMP builder credit.
- Renamed Tcl/Tk/TkTable libs for MinGW to match common gcc names.
- Corrected Linux ref in tcltk98 Jamfile.
- Added ascPrintTcl.c to list of interface sources.
- Fixed default CP definition in Jambase.
- Reworked gcc warning options in Jamrules_general.

utilities/ascConfig.h
- Added UNREFERENCED_PARAMETER() macro to standardize handling of unreferenced parameters.
-__WIN32__ macros for isnan(), isinf(), finite() not redefined if the plain versions exist (underscore not added in all __WIN32__ compiler systems, e.g. MinGW)

interface/ascPrintTcl.[ch]
- Added return value to Asc_PrintInit_TclVtable().
- Modified doxygen comments to describe function return values.

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

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