1 |
# ConfigAscend, MS VC++5.0 version |
2 |
# |
3 |
# This is a configuration file for ASCEND. |
4 |
# If it has the name "ConfigAscend.in", then it is a template |
5 |
# for the "ConfigAscend" configuration file. To generate the |
6 |
# actual "ConfigAscend" file, run ".\configure", which is a |
7 |
# configuration script generated by the "autoconf" program. |
8 |
# Constructs like @foo@ will be replaced in the actual |
9 |
# "ConfigAscend" configuration file. |
10 |
# |
11 |
# This file contains the definitions and macros needed by all the |
12 |
# ascend sub-makefiles. |
13 |
# |
14 |
# by Ben Allan June 25, 1994. |
15 |
# $Revision: 1.3 $ |
16 |
# $Date: 1998/02/26 16:02:53 $ |
17 |
# $Author: mthomas $ |
18 |
# $Source: /afs/cs.cmu.edu/project/ascend/Repository/ascend4/ConfigAscend.vc,v $ |
19 |
# |
20 |
# To build ASCEND you must set some configuration information in |
21 |
# this file and then type 'make'. |
22 |
# |
23 |
|
24 |
####>>> C <<<############################################################### |
25 |
|
26 |
# TOOLS |
27 |
# the root of your development tools tree |
28 |
# |
29 |
# Win32 |
30 |
VCTOOLS = c:\msdev\VC |
31 |
DFTOOLS = C:\msdev\DF |
32 |
|
33 |
# CC |
34 |
# your ansi-compliant C compiler and C preprocessor |
35 |
# |
36 |
CC = $(VCTOOLS)\bin\cl.exe |
37 |
CPP = $(VCTOOLS)\bin\cl.exe -E |
38 |
|
39 |
# CFLAGS |
40 |
# options for the C compilter |
41 |
# This is where optimization and debugging options should be set. |
42 |
# |
43 |
# The flags which `configure' sets should be sufficient to compile |
44 |
# ascend; however for more error checking and warnings at compile |
45 |
# time, you may want to add the following to the CFLAGS variable. |
46 |
# Note that these flags are compiler and OS dependent. |
47 |
# |
48 |
# Any GCC |
49 |
#CCWARN = -ansi -Wall -Wshadow -W -pedantic |
50 |
# DEC Alpha OSF or Digital-Unix |
51 |
#CCWARN = -std1 -verbose |
52 |
# DEC Ultrix |
53 |
#CCWARN = -std -w0 |
54 |
# HP/UX |
55 |
#CCWARN = +w1 |
56 |
# IBM AIX |
57 |
#CCWARN = |
58 |
# SGI IRIX |
59 |
#CCWARN = +w |
60 |
# Sun Solaris (2.x) (/opt/SUNWspro/bin/cc) |
61 |
#CCWARN = -v -Xc |
62 |
# Sun SunOS (Solaris 1.x) (/usr/lang/cc) |
63 |
#CCWARN = -vc -Xc |
64 |
# |
65 |
# for optimization |
66 |
CFLAGS = -release -Ox $(CCWARN) $(PC_CFLAGS) |
67 |
# |
68 |
# for debugging |
69 |
CFLAGS = -Z7 -Od $(CCWARN) $(PC_CFLAGS) |
70 |
|
71 |
|
72 |
# PC specific flags and libraries |
73 |
# |
74 |
PC_CFLAGS = -W3 -nologo -YX |
75 |
PC_INCLUDES = -I$(VCTOOLS)\include -I$(DFTOOLS)\include |
76 |
PC_DEFINES = -D_X86_=1 -Dtry=__try -Dexcept=__except -DWIN32 -D_WIN32 |
77 |
PC_LFLAGS = -debug:full -debugtype:cv libcd.lib oldnames.lib \ |
78 |
msvcrt.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib \ |
79 |
winspool.lib |
80 |
PC_LIBS = -nodefaultlib -release -nologo -align:0x1000 -machine:IX86 |
81 |
# All switches to pass to the C compiler |
82 |
# |
83 |
CC_SWITCHES = $(INCLUDES) $(DEFINES) $(CFLAGS) |
84 |
|
85 |
# The list of includes. DIR_SPECIFIC_INCS are includes that are specific |
86 |
# to a particular subdirectory of the ASCEND build |
87 |
# |
88 |
INCLUDES = $(PC_INCLUDES) $(ASC_INCS) $(DIR_SPECIFIC_INCS) |
89 |
|
90 |
# The list of defines. DIR_SPECIFIC_DEFS are defines that are specific |
91 |
# to a particular subdirectory of the ASCEND build |
92 |
# |
93 |
DEFINES = $(PC_DEFINES) $(CONFIGURE_DEFS) $(DIR_SPECIFIC_DEFS) \ |
94 |
$(MOD_ASCMALLOC) $(FATFUNC) $(MEM_DECREASE) |
95 |
|
96 |
# DEBUGGER LIBRARIES |
97 |
# any special files/libraries needed for building a debugging version |
98 |
# of a binary |
99 |
# |
100 |
DEBUG_LIBS = |
101 |
|
102 |
# DEFINES |
103 |
# definitions that `configure' generates |
104 |
# |
105 |
CONFIGURE_DEFS = |
106 |
|
107 |
# AR |
108 |
# the archiver (normally /bin/ar) |
109 |
# |
110 |
AR = $(VCTOOLS)\bin\lib.exe |
111 |
|
112 |
# RANLIB |
113 |
# set this to ":" on SysV systems; to "ranlib" elsewhere |
114 |
# |
115 |
RANLIB = : |
116 |
|
117 |
# LD |
118 |
# the linker/loader |
119 |
# |
120 |
LD = $(VCTOOLS)\bin\link.exe |
121 |
|
122 |
# YACC |
123 |
# On some old systems yacc writes some K&R extern definitions to |
124 |
# the .c file that it generates. This has caused havoc on at least |
125 |
# one system. Define your yacc here. For the Suns in particular |
126 |
# /usr/lang/SC1.0/ansi/yacc was required. If you cannot find an ansi |
127 |
# compatible yacc, delete the 'extern char *malloc(), realloc() definitions |
128 |
# if generated at the top of your .c created from the .y file. |
129 |
# |
130 |
YACC = |
131 |
|
132 |
# LEX |
133 |
# We require the flex lexer |
134 |
# |
135 |
LEX = |
136 |
LEXLIB = |
137 |
|
138 |
# UNSIGNED CHARACTERS |
139 |
# Some compilers (notably AIX3.1 cc) default chars to be unsigned which |
140 |
# causes many things to break in file operations, particularly the |
141 |
# detection of EOF conditions. Uncomment one of the CHAR_SIGNS |
142 |
# if your compiler defaults char to be unsigned char. |
143 |
# |
144 |
#CHAR_SIGNS = -qchars=signed |
145 |
|
146 |
|
147 |
####>>> FILE UTILITIES <<<################################################## |
148 |
|
149 |
# Basic File Utilities |
150 |
# |
151 |
CP = copy |
152 |
ECHO = echo |
153 |
LN_S = |
154 |
MKDIR = mkdir |
155 |
MV = rename |
156 |
RM = del |
157 |
SED = |
158 |
|
159 |
|
160 |
####>>> MATH <<<############################################################ |
161 |
|
162 |
# Some compilers need to be told where to find the math libraries |
163 |
# |
164 |
MATH_LIBS = |
165 |
|
166 |
|
167 |
####>>> X11 <<<############################################################# |
168 |
|
169 |
# The interface and 1 file in the solver directory need to know where the |
170 |
# include files and library for X11 are. If your C compiler doesn't know |
171 |
# automatically where the X files are, or if they are in a non-standard |
172 |
# place, set the following variables to point at them. These should be |
173 |
# the same X files that Tk was built with on your system. |
174 |
# Most systems do not need these variables to be set. |
175 |
# |
176 |
# The include files for X11: |
177 |
X11_INCS = -Ic:\ascend\tk8.0b2\xlib |
178 |
|
179 |
# The libraries files for X11: |
180 |
#X11_LIBS = @X11_LIBRARIES@ -lX11 @X11_EXTRA_LIBS@ @X11_RUN_PATH@ |
181 |
|
182 |
|
183 |
|
184 |
####>>> TCL / TK <<<######################################################## |
185 |
|
186 |
|
187 |
# Set the location of the Tcl/Tk libraries and include files. |
188 |
# |
189 |
# The location of the libtk.a and libtcl.a libraries. |
190 |
# The order should be -ltk -ltcl |
191 |
TCL_LIBRARY = c:\ascend\tcl\lib\tcl80.lib |
192 |
TK_LIBRARY = c:\ascend\tcl\lib\tk80.lib |
193 |
TK_LIBS = $(TK_LIBRARY) $(TCL_LIBRARY) $(DL_LIBS) |
194 |
|
195 |
# The location of the tcl.h and tk.h header files |
196 |
TK_INCS = -Ic:\ascend\tcl\include |
197 |
#-Ic:\ascend\tk8.0b2\generic -Ic:\ascend\tk8.0b2\win |
198 |
|
199 |
# If TK_LIBS and TK_INCS are not properly set, ASCEND cannot build. |
200 |
|
201 |
|
202 |
# We also need the TkTable widget which does not come as a |
203 |
# standard part of the Tcl/Tk distribution. This library can |
204 |
# either be loaded statically or dynamically. If the configure |
205 |
# script found libTktable.a, use static loading; otherwise, use |
206 |
# dynamic loading. |
207 |
# |
208 |
HAVE_TKTABLE = |
209 |
TKTABLE_LIB = |
210 |
|
211 |
|
212 |
####>>> SOLVERS / INTEGRATORS <<<########################################### |
213 |
|
214 |
# If you are linking to MINOS or other external solvers, the solver |
215 |
# interface needs to know about it. |
216 |
# Set the comment flags as appropriate on the following definitions. |
217 |
# If the settings here do not match the libraries you link, you will |
218 |
# almost certainly get runtime errors if not link errors. |
219 |
|
220 |
# to build with slv, uncomment the next line |
221 |
#EXT_SLV = -DSTATIC_SLV |
222 |
|
223 |
# to build with optsqp, uncomment the next line |
224 |
#EXT_OPTSQP = -DSTATIC_OPTSQP |
225 |
|
226 |
# to build with qrslv, uncomment the next line |
227 |
EXT_QRSLV = -DSTATIC_QRSLV |
228 |
|
229 |
# to build with mps, uncomment the next line |
230 |
#EXT_MPS = -DSTATIC_MPS |
231 |
|
232 |
# to build with ngslv, uncomment the next line |
233 |
#EXT_NGSLV = -DSTATIC_NGSLV |
234 |
|
235 |
# to build with cmslv, uncomment the next line |
236 |
#EXT_CMSLV = -DSTATIC_CMSLV |
237 |
|
238 |
# to build with lrslv, uncomment the next line |
239 |
#EXT_LRSLV = -DSTATIC_LRSLV |
240 |
|
241 |
# the configure script sets the following depending on its search for minos. |
242 |
# to force a build WITHOUT minos, comment the next line |
243 |
#EXT_MINOS = |
244 |
# |
245 |
# location of the minos library |
246 |
#MINOSLIB = |
247 |
|
248 |
# the configure script sets the following depending on its search for conopt. |
249 |
# to force a build WITHOUT conopt, comment the next line |
250 |
EXT_CONOPT = -DSTATIC_CONOPT |
251 |
# |
252 |
# location of the conopt library |
253 |
CONOPTLIB = ..\archive\libcnsub.lib |
254 |
|
255 |
# the configure script sets the following depending on its search for lsode. |
256 |
# to force a build WITHOUT lsode, comment the next line |
257 |
EXT_LSOD = |
258 |
# |
259 |
# location of the lsode library |
260 |
LSODLIB = |
261 |
|
262 |
# combine all the defines for the solver into a single variable |
263 |
SOLVER_DEFS = $(EXT_SLV) $(EXT_OPTSQP) $(EXT_QRSLV) $(EXT_MPS) $(EXT_NGSLV) \ |
264 |
$(EXT_CMSLV) $(EXT_LRSLV) $(EXT_MINOS) $(EXT_CONOPT) $(EXT_LSOD) |
265 |
|
266 |
|
267 |
####>>> PACKAGES <<<######################################################## |
268 |
|
269 |
# Build ascend with packages. |
270 |
# Packages are bits of compiled code that represent models, or solvers, |
271 |
# or, in general, any bits of external code. |
272 |
|
273 |
# Packages may be dynamically or statically linked/loaded. Add one or |
274 |
# the other defines : -DSTATIC_PACKAGES or -DDYNAMIC_PACKAGES |
275 |
# |
276 |
HAVE_PACKAGES = -DSTATIC_PACKAGES |
277 |
#HAVE_PACKAGES = -DDYNAMIC_PACKAGES |
278 |
|
279 |
# If statically linked, i.e. -DSTATIC_PACKAGES, then set PACK_LIBS |
280 |
# to where your external packages exist. If dynamically linked or |
281 |
# if you are building with NO_PACKAGES, leave PACK_LIBS empty. |
282 |
# |
283 |
PACK_LIBS = ..\archive\libpackages.lib |
284 |
#PACK_LIBS = |
285 |
|
286 |
# The default behavor is to have packages, so if you don't want |
287 |
# packages, you have to uncomment the following line |
288 |
#HAVE_PACKAGES = -DNO_PACKAGES |
289 |
|
290 |
|
291 |
####>>> SHARED OBJECTS <<<################################################## |
292 |
|
293 |
# When using dynamic packages or no packages, the Makefile needs |
294 |
# to know how to make a shared object and what suffix the |
295 |
# shared object should have. |
296 |
# |
297 |
# Library file(s) to link against for dynamic loading to work |
298 |
DL_LIBS = |
299 |
# |
300 |
# Flags to pass to the C compiler when linking object files |
301 |
# into an executable application binary |
302 |
LD_FLAGS = |
303 |
# |
304 |
# Flags to pass to ld to tell the run-time linker where to find |
305 |
# shared objects |
306 |
LD_SEARCH_FLAGS = |
307 |
# |
308 |
# Flags to pass to the C compiler when compiling the components |
309 |
# of a shared library |
310 |
SHLIB_CFLAGS = |
311 |
# |
312 |
# Base command to use to combing object files into a shared library |
313 |
SHLIB_LD = |
314 |
# |
315 |
# Dependent libraries for the linker to scan when creating a shared |
316 |
# library |
317 |
SHLIB_LD_LIBS = |
318 |
# |
319 |
# Suffix to use for the names of dynamically loadable objects. |
320 |
SHLIB_SUFFIX = |
321 |
# |
322 |
# Specifies everything that comes after libfoo in the shared library |
323 |
# "foo" |
324 |
ASC_LIB_SUFFIX = |
325 |
|
326 |
|
327 |
####>>> F77 <<<############################################################# |
328 |
|
329 |
# F77 |
330 |
# your f77 compiler |
331 |
# |
332 |
F77 = |
333 |
|
334 |
# Fortran compilation flags: |
335 |
# These are used for making the ASCEND libraries based on FORTRAN codes. |
336 |
# These should be set to get the best performance possible out of your |
337 |
# f77 compiler without optimizing away functions that are not obviously |
338 |
# called, as some compilers do by default. |
339 |
# |
340 |
F77FLAGS = -I4 -O |
341 |
# |
342 |
# F77LIBS is for the base f77 libraries. If you are linking no f77 |
343 |
# objects to ascend, it may be left undefined. |
344 |
# Set F77LIBS appropriate for your machine and desired loader behavior. |
345 |
# |
346 |
F77_LIBS = |
347 |
# |
348 |
# F77_OPTS are for miscellaneous options, such as -tmpdir= |
349 |
# |
350 |
F77_OPTS = |
351 |
# |
352 |
# All the flags to pass to F77 |
353 |
# |
354 |
F77_SWITCHES = $(F77FLAGS) $(F77_OPTS) |
355 |
|
356 |
####>>> FORTRAN LIBRARIES <<<############################################### |
357 |
|
358 |
# If building ASCEND with MINOS or other FORTRAN based solvers/packages, |
359 |
# uncomment one of the FOR_LIBS definitions below to indicate the FORTRAN |
360 |
# libraries to link into ASCEND. |
361 |
# |
362 |
# Set the BLAS and LINPACK library definitions to point at |
363 |
# machine specific libraries (if you have them) to get the |
364 |
# best speed out of ASCEND. |
365 |
# |
366 |
BLASLIB = |
367 |
LPAKLIB = |
368 |
|
369 |
FOR_LIBS = $(LSODLIB) $(MINOSLIB) $(CONOPTLIB) $(LPAKLIB) $(BLASLIB) \ |
370 |
$(F77_LIBS) |
371 |
|
372 |
|
373 |
####>>> INSTALL <<<######################################################### |
374 |
|
375 |
# Location to install program, libs, etc, and the install program |
376 |
|
377 |
# First, set INSTALL to the location of a BSD-compatible install program |
378 |
# |
379 |
INSTALL = $(CP) |
380 |
INSTALL_PROGRAM = |
381 |
INSTALL_DATA = |
382 |
|
383 |
# Where to install information |
384 |
# |
385 |
# prefix for platform dependent files: |
386 |
exec_prefix = |
387 |
# |
388 |
# prefix for platfrom independent files (.h, .tcl, .asc, etc) |
389 |
prefix = |
390 |
# |
391 |
# directory for ascend binary |
392 |
BIN_DIR = $(exec_prefix)\bin |
393 |
# |
394 |
# directory for ascend documentation |
395 |
DOC_DIR = $(prefix)\doc |
396 |
# |
397 |
# directory for ascend include files |
398 |
INCLUDE_DIR = $(prefix)\include |
399 |
# |
400 |
# directory for ascend info-style files |
401 |
INFO_DIR = $(prefix)\info |
402 |
# |
403 |
# directory for ascend platform-dependent libraries |
404 |
LIB_DIR = $(exec_prefix)\lib |
405 |
# |
406 |
# top level directory for ascend man pages |
407 |
MAN_DIR = $(prefix)\man |
408 |
# |
409 |
# directories for specific man pages |
410 |
MAN1_DIR = $(MAN_DIR)\man1 |
411 |
MAN3_DIR = $(MAN_DIR)\man3 |
412 |
MAN5_DIR = $(MAN_DIR)\man5 |
413 |
MAN8_DIR = $(MAN_DIR)\man8 |
414 |
MANn_DIR = $(MAN_DIR)\mann |
415 |
# |
416 |
# directory for ascend help files |
417 |
HELP_DIR = $(prefix)\help |
418 |
# |
419 |
# directory for ascend models (libraries & examples) |
420 |
MODELS_DIR = $(prefix)\models |
421 |
# |
422 |
# directory for ascend package code |
423 |
PACK_DIR = $(prefix)\packages |
424 |
# |
425 |
# directory for general tcl/tk code |
426 |
TK_LIBRARY_DIR = $(prefix)\lib\tcl |
427 |
# |
428 |
# directory for ascend specific tcl/tk code |
429 |
ASCEND_TK_DIR = $(prefix)\TK |
430 |
|
431 |
|
432 |
####>>> CMU DEVELOPERS <<<################################################## |
433 |
|
434 |
# The following flags control sources that are not part of the standard |
435 |
# distribution. Do not uncomment any of these lines unless you know |
436 |
# what you are doing; in particular, don't mess with these and then |
437 |
# expect us to be able to help you when it won't build. |
438 |
|
439 |
# Tom Epperly's malloc debugger: |
440 |
# |
441 |
# slow |
442 |
#MOD_ASCMALLOC = -DMOD_ASCMALLOC -DMALLOC_DEBUG |
443 |
# slower |
444 |
#MOD_ASCMALLOC = -DMOD_ASCMALLOC -DMALLOC_DEBUG -DALLOCATED_TESTS |
445 |
|
446 |
# Damned expensive malloc debugger (sources not distributed): |
447 |
# |
448 |
# slowest |
449 |
#DEBUG_MALLOC_LIBS = ..\dbmalloc\libdbmalloc.a |
450 |
#DEBUG_MALLOC = -DBEBUG_MALLOC |
451 |
|
452 |
# Find Dependencies: makedepend/g++dep executable |
453 |
# |
454 |
# all dependencies |
455 |
DEPEND = \usr\local\bin\makedepend |
456 |
DEPEND = \usr\local\lib\ascend\etc\g++dep |
457 |
# |
458 |
# all but system dependencies |
459 |
DEPEND_NOSYS = \usr\local\lib\ascend\etc\g++dep_nosys |
460 |
# to make without-system-dependencies the default, uncomment the next line |
461 |
#DEPEND = $(DEPEND_NOSYS) |
462 |
# |
463 |
# remove dependencies information version |
464 |
DEPEND_RM = \usr\local\lib\ascend\etc\g++nodep |
465 |
# |
466 |
# All switches to pass to the dependency generator |
467 |
# |
468 |
DEPEND_FLAGS = $(INCLUDES) $(DEFINES) |
469 |
|
470 |
|
471 |
# Tags |
472 |
# |
473 |
ETAGS = \usr\local\bin\etags |
474 |
CTAGS = \usr\local\bin\ctags |
475 |
|
476 |
|
477 |
# Purify |
478 |
# |
479 |
PURIFY = purify |
480 |
QUANTIFY = quantify |
481 |
#set dirs in the next 3 accordingly |
482 |
PURIFY_OPTS = -always-use-cache-dir -cache-dir=/usr1/ballan/tmp/purify \ |
483 |
-windows=no -inuse-at-exit=yes |
484 |
PURIFY_OPTS = -always-use-cache-dir -cache-dir=/usr1/ballan/tmp/purify \ |
485 |
-inuse-at-exit=yes |
486 |
QUANTIFY_OPTS = $(PURIFY_OPTS) -record-system-calls=no |
487 |
# use these if you haven't paid pureatria yet. |
488 |
PURIFY_OPTS = |
489 |
QUANTIFY_OPTS = $(PURIFY_OPTS) |
490 |
|
491 |
|
492 |
# Pixie |
493 |
# (only available on the alpha) |
494 |
# |
495 |
PIXIE = pixie |
496 |
PIXIE_OPTS = -pixie -heavy -lines -invocations -procedures |
497 |
PIXIEDIR= a4 |
498 |
|
499 |
|
500 |
# set the following to -DCHRIS_FUNC to get the extra fucn properties |
501 |
# needed for the Chris Welhelmy solver. |
502 |
# |
503 |
#FATFUNC = -DCHRIS_FUNC |
504 |
|
505 |
|
506 |
# if your machine's memory is allocated in decreasing order, set the |
507 |
# following to -DMEM_DECREASE to try to keep memory usage more compact |
508 |
# |
509 |
#MEM_DECREASE = -DMEM_DECREASE |
510 |
|
511 |
|
512 |
####>>> MISC <<<############################################################ |
513 |
|
514 |
# include files for ascend |
515 |
# |
516 |
ASC_INCS = -I.. -I. |
517 |
|
518 |
# library files for ascend |
519 |
# |
520 |
ASC_LIBS = ..\archive\libascif.lib ..\archive\libasc.lib \ |
521 |
..\archive\libsolver.lib ..\archive\libutils.lib \ |
522 |
..\archive\libgeneral.lib $(PACK_LIBS) |
523 |
|
524 |
# The time/place stamp for the executable. |
525 |
# Reverse the comment flags if your cpp doesn't understand it |
526 |
# |
527 |
TIMESTAMP = |
528 |
#TIMESTAMP = -DTIMESTAMP="\"\"" |