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

Annotation of /trunk/tcltk98/jam/Jamfile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (hide annotations) (download)
Sat Jan 22 14:22:13 2005 UTC (19 years, 6 months ago) by jds
File size: 11055 byte(s)
Initial commit of WinVC7 and jam build files.  jam builds Ascend base libs and tcltk98 executable on Windows using msvc, borland, mingw, and watcom (watcom can't yet link executable due to lack of isnan() and copysign() functions).

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

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