1 |
# ASCEND Interface Makefile, MS VC++5.0 version |
2 |
# Mark Thomas |
3 |
# July 29, 1997 |
4 |
# $Revision: 1.2 $ |
5 |
# $Date: 1997/09/08 19:27:54 $ |
6 |
# $Author: ballan $ |
7 |
# $Source: /afs/cs.cmu.edu/project/ascend/Repository/ascend4/interface/Makefile.vc,v $ |
8 |
# |
9 |
|
10 |
|
11 |
builddir = .. |
12 |
srcdir = . |
13 |
VPATH = . |
14 |
|
15 |
|
16 |
|
17 |
# The next variables are the primary executables and/or libraries that |
18 |
# this makefile is responsible for, and the default target of this |
19 |
# makefile. |
20 |
|
21 |
EXECUTABLE = $(builddir)\bin\ascend4.exe |
22 |
|
23 |
PURIFIED_EXEC = $(builddir)\bin\ascend4p |
24 |
|
25 |
QUANTIFIED_EXEC = $(builddir)\bin\ascend4q |
26 |
|
27 |
LIBRARY = liascif.lib |
28 |
|
29 |
|
30 |
default: $(LIBRARY) $(EXECUTABLE) |
31 |
|
32 |
|
33 |
|
34 |
# Defines and Includes that are specific to this directory |
35 |
|
36 |
DIR_SPECIFIC_DEFS = $(SOLVER_DEFS) |
37 |
DIR_SPECIFIC_INCS = $(TK_INCS) $(X11_INCS) |
38 |
|
39 |
|
40 |
|
41 |
|
42 |
# The next variables list the source files (EXEC_SCRS) to compile |
43 |
# into the object files (EXEC_OBJS) that are linked with the |
44 |
# library files (EXEC_LIBS) to make EXECUTABLE |
45 |
|
46 |
EXEC_SRCS = Driver.c |
47 |
|
48 |
EXEC_OBJS = Driver.obj |
49 |
|
50 |
EXEC_LIBS = $(ASC_LIBS) $(FOR_LIBS) $(TK_LIBS) $(TKTABLE_LIB) $(X11_LIBS) \ |
51 |
$(PC_LFLAGS) $(PC_LIBS) $(MATH_LIBS) $(DEBUG_LIBS) |
52 |
|
53 |
|
54 |
|
55 |
# The next variables list the source files (LIB_SCRS) to compile |
56 |
# into the object files (LIB_OBJS) that are combined to make LIBRARY |
57 |
|
58 |
LIB_SRCS = \ |
59 |
AscBitmaps.c BrowLogRel_io.c BrowWhen_io.c BrowserDag.c \ |
60 |
BrowserMethod.c BrowserProc.c BrowserQuery.c BrowserRel_io.c \ |
61 |
CodeGen.c CodeGen2.c Commands.c DebugProc.c DisplayProc.c \ |
62 |
EnvVarProc.c Exceptions.c HelpProc.c Integrators.c \ |
63 |
LibraryProc.c Lsode.c MtxProc.c ProbeProc.c Qlfdid.c \ |
64 |
ScriptProc.c Sensitivity.c SimsProc.c SlvProc.c \ |
65 |
SolverProc.c UnitsProc.c UserData.c \ |
66 |
plot.c tkConsole.c typelex.c old_utils.c |
67 |
|
68 |
LIB_OBJS = \ |
69 |
AscBitmaps.obj BrowLogRel_io.obj BrowWhen_io.obj \ |
70 |
BrowserMethod.obj BrowserProc.obj BrowserQuery.obj BrowserRel_io.obj \ |
71 |
Commands.obj DebugProc.obj DisplayProc.obj \ |
72 |
EnvVarProc.obj Exceptions.obj HelpProc.obj Integrators.obj \ |
73 |
LibraryProc.obj Lsode.obj MtxProc.obj ProbeProc.obj Qlfdid.obj \ |
74 |
ScriptProc.obj Sensitivity.obj SimsProc.obj SlvProc.obj \ |
75 |
SolverProc.obj UnitsProc.obj UserData.obj \ |
76 |
plot.obj tkConsole.obj typelex.obj old_utils.obj |
77 |
|
78 |
|
79 |
|
80 |
|
81 |
# The global makefile macros (ConfigAscend) and global rules (Makefile.Rules) |
82 |
# |
83 |
!include $(builddir)\ConfigAscend.vc |
84 |
!include $(builddir)\Makefile.Rules.vc |
85 |
|
86 |
|
87 |
|
88 |
# Some aliases for targets |
89 |
|
90 |
ascend4 GUI: $(EXECUTABLE) |
91 |
|
92 |
ascend4p: $(PURIFIED_EXEC) |
93 |
|
94 |
ascend4q: $(QUANTIFIED_EXEC) |
95 |
|
96 |
|
97 |
|
98 |
# File specific rules |
99 |
|
100 |
# Force an update of Driver.obj so we update the value |
101 |
# of TIMESTAMP in the ascend binary |
102 |
|
103 |
Driver.obj: Driver.date |
104 |
$(CC) $(CC_SWITCHES) $(HAVE_TKTABLE) $(TIMESTAMP) -c $(srcdir)\Driver.c |
105 |
$(RM) Driver.date |
106 |
|
107 |
Driver.date: $(srcdir)\Driver.c |
108 |
$(ECHO) 'A file to force a timestamp update' > Driver.date |
109 |
|
110 |
|
111 |
|
112 |
# The C file for the typer (typelex.c) can either be generated by flex, |
113 |
# or it can come from a pregenerated C file. The configure script will |
114 |
# set the $(MAKE) line under the ``typelex'' target to maker either |
115 |
# typelex.c.from.flex ---to generate the typer using flex |
116 |
# typelex.c.from.c ---to use the pregenerated C file |
117 |
# depending on the value of $(LEX). |
118 |
|
119 |
typelex.obj: $(srcdir)\typelex.l $(srcdir)\typelex.c.no.flex |
120 |
$(MAKE) -f Makefile.vc typelex.c.from.c |
121 |
$(CC) $(CC_SWITCHES) -DYY_USE_CONST -c typelex.c |
122 |
|
123 |
typelex.c.from.flex: $(srcdir)\typelex.l |
124 |
$(LEX) -Ptyp_ -t $(srcdir)\typelex.l > typelex.c |
125 |
|
126 |
typelex.c.from.c: $(srcdir)\typelex.c.no.flex |
127 |
$(CP) $(srcdir)\typelex.c.no.flex typelex.c |
128 |
|
129 |
typelex.c: $(srcdir)\typelex.l $(srcdir)\typelex.c.no.flex |
130 |
$(MAKE) -f Makefile.vc typelex.c.from.c |
131 |
|
132 |
|
133 |
|
134 |
# Files, in addition to the default, to remove when we `make clean' |
135 |
|
136 |
clean:: |
137 |
-$(RM) typelex.c Driver.date |
138 |
|
139 |
|
140 |
|
141 |
# DO NOT DELETE THIS LINE -- g++dep uses it. |
142 |
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. |
143 |
|
144 |
|
145 |
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY |