build: -optimize now defaults to -O2 instead of -O
[charm.git] / src / scripts / Makefile.win32
1 VERSION = net-win32-smp\r
2 \r
3 COMMON_SRC = .\r
4 CONVLIBS_SRC = .\libs\conv-libs\r
5 \r
6 LIBS_DIR = ..\lib\r
7 XLATI_DIR = ..\bin\r
8 HOST_DIR = ..\bin\r
9 \r
10 INC = /I"$(COMMON_SRC)"\r
11 \r
12 CPP_PROJ=/nologo /MT /W3 /GX /Z7 /O2 $(INC)\\r
13  /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX \\r
14  /Fo /c\r
15 \r
16 SEQCPP_PROJ=/nologo /ML /W3 /GX /Z7 /O2 $(INC) \\r
17  /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX \\r
18  /Fo /c\r
19 \r
20 CPP = cl.exe\r
21 LINK = link.exe\r
22 LIBR = lib.exe\r
23 LINK_FLAGS = /nologo \r
24 \r
25 CHARMXI=$(XLATI_DIR)\charmxi.exe\r
26 CONV_CPM=$(XLATI_DIR)\conv-cpm.exe\r
27 \r
28 LINK_OTHER = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \\r
29  advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \\r
30  odbccp32.lib /subsystem:console /incremental:no #/machine:IX86\r
31 \r
32 ALL: CHARM++\r
33 \r
34 CHARM++ : CONVERSE CHARMLIBS TRANSLATORS\r
35 \r
36 TRANSLATORS : $(CHARMXI) $(CONV_CPM)\r
37 \r
38 AMPI: CHARM++ $(LIBS_DIR)\libampi.a $(LIBS_DIR)\libampif.a\r
39 \r
40 #.SILENT:\r
41 \r
42 LIBS : CONVLIBS CHARMLIBS\r
43          @echo Nothing to do here right now.\r
44 \r
45 ###############################################################################\r
46 #\r
47 # The basics (bin, lib, include, headers)\r
48 #\r
49 ###############################################################################\r
50 \r
51 CVHEADERS=cpthreads.h converse.h conv-trace.h trace.h conv-ccs.h \\r
52       conv-autoconfig.h conv-mach.h conv-mach.sh \\r
53       CkFutures.decl.h CkArray.decl.h CkReduction.decl.h \\r
54       LBDatabase.decl.h CentralLB.decl.h \\r
55       RandCentLB.decl.h RecBisectBfLB.decl.h \\r
56       MetisLB.decl.h RefineLB.decl.h \\r
57       HeapCentLB.decl.h NborBaseLB.decl.h NeighborLB.decl.h \\r
58       WSLB.decl.h GridCommLB.decl.h GridCommRefineLB.decl.h GridMetisLB.decl.h \\r
59       GridHybridLB.decl.h GridHybridSeedLB.decl.h GreedyRefLB.decl.h RandRefLB.decl.h \\r
60       tempo.decl.h waitqd.decl.h \\r
61           CommLB.decl.h Comm1LB.decl.h  \\r
62           ampi.decl.h ampimain.decl.h BlueGene.decl.h blue.h\r
63 \r
64 # The .c files are there to be #included by clients whole\r
65 # This is a bit unusual, but makes client linking simpler.\r
66 UTILHEADERS=pup.h pup_c.h ckhashtable.h cklists.h conv-lists.h \\r
67         sockRoutines.h sockRoutines.c\r
68 \r
69 CKHEADERS=ck.h ckstream.h envelope.h init.h qd.h charm.h charm++.h \\r
70           ckfutures.h ckarray.h ckreduction.h readonly.h $(UTILHEADERS) \\r
71           tempo.h waitqd.h LBDatabase.h lbdb.h \\r
72           LBDBManager.h LBComm.h LBOM.h LBObj.h LBMachineUtil.h \\r
73           Refiner.h ObjGraph.h heap.h elements.h CommLBHeap.h \\r
74           CentralLB.h RandCentLB.h RecBisectBfLB.h \\r
75           RefineLB.h HeapCentLB.h CommLB.h Comm1LB.h \\r
76           MetisLB.h NborBaseLB.h \\r
77           NeighborLB.h WSLB.h GridCommLB.h GridCommRefineLB.h \\r
78           GridMetisLB.h GridHybridLB.h GridHybridSeedLB.h GreedyRefLB.h RandRefLB.h \\r
79           ampi.h BlueGene.h \\r
80           $(CVHEADERS)\r
81 \r
82 ALLHEADERS=$(CKHEADERS) \\r
83     simplemsg.h sm.h pvmc.h pvm3.h sdag.h \\r
84         graph.h bitvecset.h Set.h ampiimpl.h\r
85 \r
86 BASICS : DIRSSOURCES $(ALLHEADERS)\r
87         @if exist ..\include\nul rd /s /q ..\include\r
88         @xcopy /q /i *.h ..\include\r
89         @xcopy /q /i sockRoutines.c ..\include\r
90         -@if exist BASICS\nul rd /s /q BASICS\r
91         -@mkdir BASICS\r
92 \r
93 DIRSSOURCES :\r
94         @echo Gathering source code...\r
95         @if exist ..\bin\nul       rd    /s /q  ..\bin\r
96         @if exist ..\lib\nul       rd    /s /q  ..\lib\r
97         @if exist ..\src\nul       rd    /s /q  ..\src\r
98         @if exist ..\pgms\nul      rd    /s /q  ..\pgms\r
99         @if exist ..\libsrc\nul    rd    /s /q  ..\libsrc\r
100         @mkdir    ..\bin\r
101         @mkdir    ..\lib\r
102         @mkdir    ..\src\r
103         @xcopy    /q /i /e /s /y ..\..\src\Common\libs libs\r
104         @xcopy /d /q  ..\..\src\Common\conv-core\* .\r
105         @xcopy /d /q  ..\..\src\Common\conv-ldb\* .\r
106         @xcopy /d /q  ..\..\src\Common\ck-core\* .\r
107         @xcopy /d /q  ..\..\src\Common\ck-ldb\* .\r
108         @xcopy /d /q  ..\..\src\Common\ck-perf\* .\r
109         @xcopy /d /q  ..\..\src\Common\langs\ampi\* .\r
110         @xcopy /d /q  ..\..\src\Common\langs\bluegene\* .\r
111         @xcopy /d /q  ..\..\src\Common\langs\simplemsg\* .\r
112         @xcopy /d /q  ..\..\src\Common\langs\pvmc\* .\r
113         @xcopy /d /q  ..\..\src\Common\util\* .\r
114         @xcopy /d /q  ..\..\src\Common\xlat-i\* .\r
115         @xcopy /d /q  ..\..\src\Common\xlat-i\sdag\* .\r
116         @xcopy /d /q  ..\..\src\Common\xlatcpm\*.c .\r
117         @xcopy /d /q  ..\..\src\Common.win32\*.h .\r
118         @xcopy /d /q  ..\..\src\Common.net\* .\r
119         @xcopy /d /q  ..\..\src\$(VERSION)\* .\r
120         @xcopy    /q /i /e /s /y ..\..\src\Common.net\charmrun  charmrun  \r
121         @xcopy /d /q $(CONVLIBS_SRC)\commlib\*.C .\r
122         @xcopy /d /q $(CONVLIBS_SRC)\commlib\*.h .\r
123         @xcopy /d /q  $(CONVLIBS_SRC)\packLib\*.C .\r
124         @xcopy /d /q  $(CONVLIBS_SRC)\packLib\*.h .\r
125         @if exist ..\pgms\nul    rd /s /q ..\pgms\r
126         @xcopy    /q /i /e /s ..\..\pgms  ..\pgms  \r
127         @mkdir    DIRSSOURCES\r
128 \r
129 ###############################################################################\r
130 #\r
131 # Converse Libraries\r
132 #\r
133 ###############################################################################\r
134 \r
135 TRACELIBS=libtrace-none.a libtrace-projections.a libtrace-summary.a libtrace-counter.a\r
136 \r
137 CVLIBS=$(LIBS_DIR)\libconv-core.a $(LIBS_DIR)\libconv-cplus-n.a $(LIBS_DIR)\libconv-cplus-y.a $(LIBS_DIR)\libconv-util.a $(LIBS_DIR)\libldb-rand.o $(LIBS_DIR)\libldb-spray.o $(LIBS_DIR)\libldb-graph.o $(LIBS_DIR)\libldb-test.o $(TRACELIBS)\r
138 \r
139 LIBCONV_CORE=threads.obj convcore.obj conv-conds.obj queueing.obj msgmgr.obj memory.obj cpm.obj cpthreads.obj futures.obj cldb.obj random.obj debug-message.obj debug-object.obj info.obj generate.obj edgelist.obj conv-ccs.obj quiescence.obj \r
140 \r
141 LIBCONV_UTIL=pup_util.obj pup_xlater.obj pup_c.obj ckhashtable.obj sockRoutines.obj conv-lists.obj\r
142 \r
143 LIBCONV_UTILF=pup_f.obj\r
144 \r
145 CONVERSE : BASICS $(CVLIBS) CHARMRUN-IF-NEEDED DAEMON $(CONV_CPM)\r
146 \r
147 DAEMON : daemon.c sockRoutines.c\r
148         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\daemon.c\r
149         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\sockRoutines.c\r
150         $(LINK) $(LINK_FLAGS) ws2_32.lib advapi32.lib $(LINK_OTHER) \\r
151         /out:"$(HOST_DIR)\charmd.exe" daemon.obj sockRoutines.obj\r
152         $(CPP) $(CPP_PROJ) /D "FACELESS" $(COMMON_SRC)\daemon.c\r
153         $(LINK) $(LINK_FLAGS) ws2_32.lib advapi32.lib $(LINK_OTHER) \\r
154         /out:"$(HOST_DIR)\charmd_faceless.exe" daemon.obj sockRoutines.obj\r
155 \r
156 CHARMRUN-IF-NEEDED : charmrun\charmrun.c sockRoutines.c\r
157         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\charmrun\charmrun.c\r
158         $(LINK) $(LINK_FLAGS) ws2_32.lib advapi32.lib $(LINK_OTHER) \\r
159         /out:"$(HOST_DIR)\charmrun.exe" charmrun.obj\r
160 \r
161 CONVLIBS : MASTER-SLAVE PACKLIB COMMLIB UTIL\r
162 \r
163 MASTER-SLAVE : $(CONVLIBS_SRC)\master-slave\cms.c\r
164         $(CPP) $(CPP_PROJ) $(CONVLIBS_SRC)\master-slave\cms.c\r
165         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libcms.a" cms.obj\r
166         @if exist ..\include\cms.h del /q ..\include\cms.h\r
167         @copy $(CONVLIBS_SRC)\master-slave\cms.h ..\include\cms.h\r
168 \r
169 \r
170 UTIL_SRC=pup_util.C pup_xlater.C pup_c.C ckhashtable.C\r
171 UTIL: $(UTIL_SRC)\r
172         $(CPP) $(CPP_PROJ) /TP $(UTIL_SRC)\r
173         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libconv-util.a" \\r
174           $(LIBCONV_UTIL)\r
175 \r
176 COMMLIB_SRC=charm_bind.C commlib.C overlapper.C treerouter.C gridrouter.C \\r
177         de.C bcast.C rsend.C petable.C \r
178 COMMLIB_OBJ=charm_bind.obj commlib.obj overlapper.obj treerouter.obj gridrouter.obj \\r
179         de.obj bcast.obj rsend.obj petable.obj \r
180 COMMLIB :  $(COMMLIB_SRC)\r
181         $(CPP) $(CPP_PROJ) /TP $(COMMLIB_SRC)\r
182         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libcomm.a" \\r
183           $(COMMLIB_OBJ)\r
184 \r
185 PACKLIB_SRC=packc.C packf77.C\r
186 PACKLIB_OBJ=packc.obj packf77.obj\r
187 PACKLIB : $(PACKLIB_SRC)\r
188         $(CPP) $(CPP_PROJ) /TP $(PACKLIB_SRC)\r
189         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libpacklib.a" \\r
190           $(PACKLIB_OBJ)\r
191 \r
192 $(LIBS_DIR)\libconv-core.a : $(LIBCONV_CORE)\r
193         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libconv-core.a" \\r
194         $(LIBCONV_CORE)\r
195 \r
196 $(LIBS_DIR)\libconv-cplus-y.a : machine.c $(CVHEADERS)\r
197         $(CPP) $(CPP_PROJ) /D "_LIB" /D"FOR_CPLUS=1" machine.c\r
198         $(LINK) -lib $(LINK_FLAGS) /out:"$(LIBS_DIR)\libconv-cplus-y.a" \\r
199         machine.obj\r
200 \r
201 $(LIBS_DIR)\libconv-cplus-n.a : machine.c $(CVHEADERS)\r
202         $(CPP) $(CPP_PROJ) /D"FOR_CPLUS=0" machine.c\r
203         $(LINK) -lib $(LINK_FLAGS) /out:"$(LIBS_DIR)\libconv-cplus-n.a" \\r
204         machine.obj\r
205 \r
206 $(LIBS_DIR)\libconv-util.a : $(LIBCONV_UTIL)\r
207         $(LINK) -lib $(LINK_FLAGS) /out:"$(LIBS_DIR)\libconv-util.a" \\r
208         $(LIBCONV_UTIL)\r
209 \r
210 cpm.obj : cpm.c $(CVHEADERS)\r
211         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\cpm.c\r
212 \r
213 fifo.obj : fifo.c $(CVHEADERS)\r
214         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\fifo.c\r
215 \r
216 threads.obj : threads.c $(CVHEADERS)\r
217         $(CPP) $(CPP_PROJ) /I"QuickThreads" $(COMMON_SRC)\threads.c\r
218 \r
219 convcore.obj : convcore.c $(CVHEADERS)\r
220         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\convcore.c\r
221 \r
222 conv-ccs.obj : conv-ccs.c $(CVHEADERS)\r
223         $(CPP) $(CPP_PROJ) $(COMMON_SRC)\conv-ccs.c\r
224 \r
225 random.obj : random.c $(CVHEADERS)\r
226         $(CPP) $(CPP_PROJ) random.c\r
227 \r
228 queueing.obj : queueing.c $(CVHEADERS)\r
229         $(CPP) $(CPP_PROJ) queueing.c\r
230 \r
231 conv-conds.obj : conv-conds.c $(CVHEADERS)\r
232         $(CPP) $(CPP_PROJ) conv-conds.c\r
233 \r
234 futures.obj : futures.c $(CVHEADERS)\r
235         $(CPP) $(CPP_PROJ) futures.c\r
236 \r
237 msgmgr.obj : msgmgr.c $(CVHEADERS)\r
238         $(CPP) $(CPP_PROJ) msgmgr.c\r
239 \r
240 cpthreads.obj : cpthreads.c $(CVHEADERS)\r
241         $(CPP) $(CPP_PROJ) cpthreads.c\r
242 \r
243 memory.obj : memory.c $(CVHEADERS)\r
244         $(CPP)$(CPP_PROJ) memory.c\r
245 \r
246 edgelist.obj : edgelist.c typedefs.h $(CVHEADERS)\r
247         $(CPP) $(CPP_PROJ) edgelist.c\r
248 \r
249 generate.obj : generate.c typedefs.h $(CVHEADERS)\r
250         $(CPP) $(CPP_PROJ) generate.c\r
251 \r
252 cldb.obj : cldb.c cldb.h $(CVHEADERS)\r
253         $(CPP) $(CPP_PROJ) cldb.c\r
254 \r
255 quiescence.obj: quiescence.c $(CVHEADERS) \r
256         $(CPP) $(CPP_PROJ) quiescence.c\r
257 \r
258 $(LIBS_DIR)\libldb-rand.o : cldb.rand.c $(CVHEADERS)\r
259         $(CPP) $(CPP_PROJ) cldb.rand.c\r
260         @copy cldb.rand.obj ..\lib\libldb-rand.o\r
261 \r
262 $(LIBS_DIR)\libldb-graph.o : cldb.graph.c cldb.graph.h $(CVHEADERS)\r
263         $(CPP) $(CPP_PROJ) cldb.graph.c \r
264         @copy cldb.graph.obj ..\lib\libldb-graph.o\r
265 \r
266 $(LIBS_DIR)\libldb-spray.o : cldb.spray.c $(CVHEADERS)\r
267         $(CPP) $(CPP_PROJ)  cldb.spray.c\r
268         @copy cldb.spray.obj ..\lib\libldb-spray.o\r
269 \r
270 $(LIBS_DIR)\libldb-test.o : cldb.test.c $(CVHEADERS)\r
271         $(CPP) $(CPP_PROJ) cldb.test.c\r
272         @copy cldb.test.obj ..\lib\libldb-test.o\r
273 \r
274 pup_util.obj : pup_util.C $(UTILHEADERS)\r
275         $(CPP) $(CPP_PROJ) /TP pup_util.C\r
276 \r
277 pup_xlater.obj : pup_xlater.C $(UTILHEADERS)\r
278         $(CPP) $(CPP_PROJ) /TP pup_xlater.C\r
279 \r
280 pup_c.obj : pup_c.C $(UTILHEADERS)\r
281         $(CPP) $(CPP_PROJ) /TP pup_c.C\r
282 \r
283 ckhashtable.obj : ckhashtable.C $(UTILHEADERS)\r
284         $(CPP) $(CPP_PROJ) /TP ckhashtable.C\r
285 \r
286 conv-lists.obj : conv-lists.C $(UTILHEADERS)\r
287         $(CPP) $(CPP_PROJ) /TP conv-lists.C\r
288 \r
289 ########################################################################################################\r
290 #\r
291 # CHARM LIBRARIES\r
292 #\r
293 ########################################################################################################\r
294 \r
295 CK_LIBS_CORE=$(LIBS_DIR)\libck.a\r
296 \r
297 LIBCK_CORE=init.obj register.obj qd.obj ck.obj main.obj msgalloc.obj ckfutures.obj \\r
298            ckarray.obj ckreduction.obj \\r
299            tempo.obj waitqd.obj LBDatabase.obj lbdb.obj \\r
300            LBDBManager.obj LBComm.obj LBObj.obj LBMachineUtil.obj Refiner.obj \\r
301            ObjGraph.obj \\r
302            CentralLB.obj RandCentLB.obj \\r
303            RecBisectBfLB.obj graph.obj bitvecset.obj \\r
304            MetisLB.obj RefineLB.obj Set.obj CommLB.obj Comm1LB.obj\\r
305            HeapCentLB.obj heap.obj NborBaseLB.obj NeighborLB.obj WSLB.obj \\r
306            GridCommLB.obj GridCommRefineLB.obj GridMetisLB.obj GridHybridLB.obj \\r
307            GridHybridSeedLB.obj GreedyRefLB.obj RandRefLB.obj CommLBHeap.obj\r
308 \r
309 \r
310 CHARMLIBS : CONVERSE $(CK_LIBS_CORE)\r
311 \r
312 $(CK_LIBS_CORE) : $(LIBCK_CORE)\r
313         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libck.a" \\r
314         $(LIBCK_CORE)\r
315 \r
316 LIBTRACE_NONE=trace-none.obj\r
317 \r
318 libtrace-none.a : $(LIBTRACE_NONE)\r
319         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libtrace-none.a" \\r
320         $(LIBTRACE_NONE)\r
321 \r
322 LIBTRACE_PROJ=trace-projections.obj\r
323 \r
324 libtrace-projections.a : $(LIBTRACE_PROJ)\r
325         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libtrace-projections.a" \\r
326         $(LIBTRACE_PROJ)\r
327 \r
328 LIBTRACE_SUMM=trace-summary.obj\r
329 \r
330 libtrace-summary.a: $(LIBTRACE_SUMM)\r
331         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libtrace-summary.a" \\r
332         $(LIBTRACE_SUMM)\r
333 \r
334 LIBTRACE_COUNT=trace-counter.obj\r
335 \r
336 libtrace-counter.a: $(LIBTRACE_COUNT)\r
337         $(LIBR) $(LINK_FLAGS) /out:"$(LIBS_DIR)\libtrace-counter.a" \\r
338         $(LIBTRACE_COUNT)\r
339 \r
340 ampi.decl.h ampi.def.h : ampi.ci $(CHARMXI)\r
341         $(CHARMXI) -ansi ampi.ci\r
342 \r
343 ampimain.decl.h ampimain.def.h : ampimain.ci $(CHARMXI)\r
344         $(CHARMXI) ampimain.ci\r
345 \r
346 CkFutures.decl.h CkFutures.def.h : ckfutures.ci $(CHARMXI)\r
347         $(CHARMXI) -ansi ckfutures.ci                      \r
348 \r
349 tempo.decl.h tempo.def.h : tempo.ci $(CHARMXI)\r
350         $(CHARMXI) -ansi tempo.ci                         \r
351 \r
352 waitqd.decl.h waitqd.def.h : waitqd.ci $(CHARMXI)\r
353         $(CHARMXI) -ansi waitqd.ci     \r
354 \r
355 CkReduction.decl.h CkReduction.def.h : ckreduction.ci $(CHARMXI)\r
356         $(CHARMXI) -ansi ckreduction.ci\r
357 \r
358 CkArray.decl.h CkArray.def.h : ckarray.ci $(CHARMXI)\r
359         $(CHARMXI) -ansi ckarray.ci\r
360 \r
361 LBDatabase.decl.h LBDatabase.def.h : LBDatabase.ci $(CHARMXI)\r
362         $(CHARMXI) -ansi LBDatabase.ci\r
363 \r
364 CentralLB.decl.h Central.def.h : CentralLB.ci $(CHARMXI)\r
365         $(CHARMXI) -ansi CentralLB.ci\r
366 \r
367 RandCentLB.decl.h RandCent.def.h : RandCentLB.ci $(CHARMXI)\r
368         $(CHARMXI) -ansi RandCentLB.ci\r
369 \r
370 RecBisectBfLB.decl.h RandCent.def.h : RecBisectBfLB.ci $(CHARMXI)\r
371         $(CHARMXI) -ansi RecBisectBfLB.ci\r
372 \r
373 MetisLB.decl.h MetisLB.def.h : MetisLB.ci $(CHARMXI)\r
374         $(CHARMXI) -ansi MetisLB.ci\r
375 \r
376 RefineLB.decl.h RefineLB.def.h : RefineLB.ci $(CHARMXI)\r
377         $(CHARMXI) -ansi RefineLB.ci\r
378 \r
379 CommLB.decl.h CommLB.def.h : CommLB.ci $(CHARMXI)\r
380         $(CHARMXI) -ansi CommLB.ci\r
381 \r
382 Comm1LB.decl.h Comm1LB.def.h : Comm1LB.ci $(CHARMXI)\r
383         $(CHARMXI) -ansi Comm1LB.ci\r
384 \r
385 HeapCentLB.decl.h HeapCentLB.def.h : HeapCentLB.ci $(CHARMXI)\r
386         $(CHARMXI) -ansi HeapCentLB.ci\r
387 \r
388 NborBaseLB.decl.h NborBaseLB.def.h : NborBaseLB.ci $(CHARMXI)\r
389         $(CHARMXI) -ansi NborBaseLB.ci\r
390 \r
391 WSLB.decl.h WSLB.def.h : WSLB.ci $(CHARMXI)\r
392         $(CHARMXI) -ansi WSLB.ci\r
393 \r
394 GridCommLB.decl.h GridCommLB.def.h : GridCommLB.ci $(CHARMXI)\r
395         $(CHARMXI) -ansi GridCommLB.ci\r
396 \r
397 GridCommRefineLB.decl.h GridCommRefineLB.def.h : GridCommRefineLB.ci $(CHARMXI)\r
398         $(CHARMXI) -ansi GridCommRefineLB.ci\r
399 \r
400 GridMetisLB.decl.h GridMetisLB.def.h : GridMetisLB.ci $(CHARMXI)\r
401         $(CHARMXI) -ansi GridMetisLB.ci\r
402 \r
403 GridHybridLB.decl.h GridHybridLB.def.h : GridHybridLB.ci $(CHARMXI)\r
404         $(CHARMXI) -ansi GridHybridLB.ci\r
405 \r
406 GridHybridSeedLB.decl.h GridHybridSeedLB.def.h : GridHybridSeedLB.ci $(CHARMXI)\r
407         $(CHARMXI) -ansi GridHybridSeedLB.ci\r
408 \r
409 GreedyRefLB.decl.h GreedyRefLB.def.h : GreedyRefLB.ci $(CHARMXI)\r
410         $(CHARMXI) -ansi GreedyRefLB.ci\r
411 \r
412 NeighborLB.decl.h NeighborLB.def.h : NeighborLB.ci $(CHARMXI)\r
413         $(CHARMXI) -ansi NeighborLB.ci\r
414 \r
415 RandRefLB.decl.h RandRefLB.def.h : RandRefLB.ci $(CHARMXI)\r
416         $(CHARMXI) -ansi RandRefLB.ci\r
417 \r
418 BlueGene.decl.h BlueGene.def.h : BlueGene.ci $(CHARMXI)\r
419         $(CHARMXI) -ansi BlueGene.ci\r
420 \r
421 init.obj: init.C $(CKHEADERS)\r
422         $(CPP) $(CPP_PROJ) /TP init.C\r
423 \r
424 msgalloc.obj: msgalloc.C $(CKHEADERS)\r
425         $(CPP) $(CPP_PROJ) /TP msgalloc.C\r
426 \r
427 register.obj: register.C $(CKHEADERS)\r
428         $(CPP) $(CPP_PROJ) /TP register.C\r
429 \r
430 ckfutures.obj: ckfutures.C $(CKHEADERS)\r
431         $(CPP) $(CPP_PROJ) /TP ckfutures.C\r
432 \r
433 tempo.obj: tempo.C $(CKHEADERS)\r
434         $(CPP) $(CPP_PROJ) /TP tempo.C\r
435 \r
436 waitqd.obj: waitqd.C $(CKHEADERS)\r
437         $(CPP) $(CPP_PROJ) /TP waitqd.C\r
438 \r
439 ckarray.obj: ckarray.C $(CKHEADERS)\r
440         $(CPP) $(CPP_PROJ) /TP ckarray.C\r
441 \r
442 ckreduction.obj: ckreduction.C $(CKHEADERS)\r
443         $(CPP) $(CPP_PROJ) /TP ckreduction.C\r
444 \r
445 lbdb.obj: lbdb.C $(CKHEADERS)\r
446         $(CPP) $(CPP_PROJ) /TP lbdb.C\r
447 \r
448 LBDBManager.obj: LBDBManager.C $(CKHEADERS)\r
449         $(CPP) $(CPP_PROJ) /TP LBDBManager.C\r
450 \r
451 LBComm.obj: LBComm.C $(CKHEADERS)\r
452         $(CPP) $(CPP_PROJ) /TP LBComm.C\r
453 \r
454 LBObj.obj: LBObj.C $(CKHEADERS)\r
455         $(CPP) $(CPP_PROJ) /TP LBObj.C\r
456 \r
457 LBMachineUtil.obj: LBMachineUtil.C $(CKHEADERS)\r
458         $(CPP) $(CPP_PROJ) /TP LBMachineUtil.C\r
459 \r
460 LBDatabase.obj: LBDatabase.C $(CKHEADERS)\r
461         $(CPP) $(CPP_PROJ) /TP LBDatabase.C\r
462 \r
463 Refiner.obj: Refiner.C $(CKHEADERS)\r
464         $(CPP) $(CPP_PROJ) /TP Refiner.C\r
465 \r
466 ObjGraph.obj: ObjGraph.C $(CKHEADERS)\r
467         $(CPP) $(CPP_PROJ) /TP ObjGraph.C\r
468 \r
469 CentralLB.obj: CentralLB.C $(CKHEADERS)\r
470         $(CPP) $(CPP_PROJ) /TP CentralLB.C\r
471 \r
472 RandCentLB.obj: RandCentLB.C $(CKHEADERS)\r
473         $(CPP) $(CPP_PROJ) /TP RandCentLB.C\r
474 \r
475 RecBisectBfLB.obj: RecBisectBfLB.C $(CKHEADERS) graph.h bitvecset.h\r
476         $(CPP) $(CPP_PROJ) /TP RecBisectBfLB.C\r
477 \r
478 graph.obj: graph.c \r
479         $(CPP) $(CPP_PROJ) graph.c\r
480 \r
481 fifoInt.obj: fifoInt.c \r
482         $(CPP) $(CPP_PROJ) fifoInt.c\r
483 \r
484 bitvecset.obj: bitvecset.c \r
485         $(CPP) $(CPP_PROJ) bitvecset.c\r
486 \r
487 MetisLB.obj: MetisLB.C $(CKHEADERS)\r
488         $(CPP) $(CPP_PROJ) /TP MetisLB.C\r
489 \r
490 RefineLB.obj: RefineLB.C $(CKHEADERS)\r
491         $(CPP) $(CPP_PROJ) /TP RefineLB.C\r
492 \r
493 CommLB.obj: CommLB.C $(CKHEADERS)\r
494         $(CPP) $(CPP_PROJ) /TP CommLB.C\r
495 \r
496 Comm1LB.obj: Comm1LB.C $(CKHEADERS)\r
497         $(CPP) $(CPP_PROJ) /TP Comm1LB.C\r
498 \r
499 HeapCentLB.obj: HeapCentLB.C $(CKHEADERS)\r
500         $(CPP) $(CPP_PROJ) /TP HeapCentLB.C\r
501 \r
502 Set.obj: Set.C $(CKHEADERS) Set.h elements.h \r
503         $(CPP) $(CPP_PROJ) /TP Set.C\r
504 \r
505 heap.obj: heap.C $(CKHEADERS) elements.h heap.h\r
506         $(CPP) $(CPP_PROJ) /TP heap.C\r
507 \r
508 CommLBHeap.obj: CommLBHeap.C $(CKHEADERS) CommLBHeap.h\r
509         $(CPP) $(CPP_PROJ) /TP CommLBHeap.C\r
510 \r
511 NborBaseLB.obj: NborBaseLB.C $(CKHEADERS)\r
512         $(CPP) $(CPP_PROJ) /TP NborBaseLB.C\r
513 \r
514 NeighborLB.obj: NeighborLB.C $(CKHEADERS)\r
515         $(CPP) $(CPP_PROJ) /TP NeighborLB.C\r
516 \r
517 WSLB.obj: WSLB.C $(CKHEADERS)\r
518         $(CPP) $(CPP_PROJ) /TP WSLB.C\r
519 \r
520 GridCommLB.obj: GridCommLB.C $(CKHEADERS)\r
521         $(CPP) $(CPP_PROJ) /TP GridCommLB.C\r
522 \r
523 GridCommRefineLB.obj: GridCommRefineLB.C $(CKHEADERS)\r
524         $(CPP) $(CPP_PROJ) /TP GridCommRefineLB.C\r
525 \r
526 GridMetisLB.obj: GridMetisLB.C $(CKHEADERS)\r
527         $(CPP) $(CPP_PROJ) /TP GridMetisLB.C\r
528 \r
529 GridHybridLB.obj: GridHybridLB.C $(CKHEADERS)\r
530         $(CPP) $(CPP_PROJ) /TP GridHybridLB.C\r
531 \r
532 GridHybridSeedLB.obj: GridHybridSeedLB.C $(CKHEADERS)\r
533         $(CPP) $(CPP_PROJ) /TP GridHybridSeedLB.C\r
534 \r
535 GreedyRefLB.obj: GreedyRefLB.C $(CKHEADERS)\r
536         $(CPP) $(CPP_PROJ) /TP GreedyRefLB.C\r
537 \r
538 RandRefLB.obj: RandRefLB.C $(CKHEADERS)\r
539         $(CPP) $(CPP_PROJ) /TP RandRefLB.C\r
540 \r
541 qd.obj: qd.C $(CKHEADERS)\r
542         $(CPP) $(CPP_PROJ) /TP qd.C\r
543 \r
544 main.obj: main.C $(CKHEADERS)\r
545         $(CPP) $(CPP_PROJ) /TP main.C\r
546 \r
547 debug-object.obj: debug-object.h debug-object.C $(CKHEADERS)\r
548         $(CPP) $(CPP_PROJ) /TP debug-object.C\r
549 \r
550 debug-message.obj: debug-message.C $(CKHEADERS)\r
551         $(CPP) $(CPP_PROJ) /TP debug-message.C\r
552 \r
553 info.obj: info.C $(CKHEADERS)\r
554         $(CPP) $(CPP_PROJ) /TP info.C\r
555 \r
556 ck.obj: ck.C $(CKHEADERS)\r
557         $(CPP) $(CPP_PROJ) /TP ck.C\r
558 \r
559 trace-none.obj : trace-none.C trace.h $(CKHEADERS)\r
560         $(CPP) $(CPP_PROJ) /TP trace-none.C\r
561 \r
562 trace-projections.obj : trace-projections.C trace-projections.h trace.h $(CKHEADERS)\r
563         $(CPP) $(CPP_PROJ) /TP trace-projections.C\r
564 \r
565 trace-summary.obj : trace-summary.C trace-summary.h trace.h $(CKHEADERS)\r
566         $(CPP) $(CPP_PROJ) /TP trace-summary.C\r
567 \r
568 trace-counter.obj : trace-counter.C trace-counter.h trace.h $(CKHEADERS)\r
569         $(CPP) $(CPP_PROJ) /TP trace-counter.C\r
570 \r
571 ###############################################################################\r
572 #\r
573 # The interface translator\r
574 #\r
575 ###############################################################################\r
576 \r
577 XIHEADERS=xi-symbol.h xi-grammar.tab.h xi-util.h\r
578 CHARMXLATI=xi-main.obj xi-symbol.obj xi-grammar.tab.obj xi-scan.obj xi-util.obj\r
579 SDAGOBJ=sdag-main.obj sdag-trans.obj CLexer.obj CParser.obj CParsedFile.obj \\r
580         CParseNode.obj sdag-globals.obj CParseNodeProcess.obj CEntry.obj\r
581 SDAGHEADERS=CLexer.h CToken.h EToken.h CParser.h CParsedFile.h CParseNode.h \\r
582         sdag-globals.h CEntry.h\r
583 \r
584 $(CONV_CPM): conv-cpm.c\r
585         $(CPP) $(SEQCPP_PROJ) conv-cpm.c\r
586         $(LINK) $(LINK_FLAGS) $(LINK_OTHER) /out:"$(XLATI_DIR)\conv-cpm.exe" conv-cpm.obj\r
587 \r
588 $(CHARMXI): $(CHARMXLATI) $(SDAGOBJ)\r
589         $(LINK) $(LINK_FLAGS) /out:"$(XLATI_DIR)\charmxi.exe" \\r
590         $(CHARMXLATI) $(SDAGOBJ)\r
591 \r
592 xi-main.obj :                                         \r
593         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\xi-main.C\r
594 \r
595 xi-symbol.obj :                                       \r
596         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\xi-symbol.C\r
597 \r
598 xi-util.obj :                                       \r
599         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\xi-util.C\r
600 \r
601 xi-grammar.tab.obj :                                \r
602         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\xi-grammar.tab.C\r
603 \r
604 xi-scan.obj :                                          \r
605         $(CPP) $(SEQCPP_PROJ) /TP /DYY_NEVER_INTERACTIVE $(COMMON_SRC)\xi-scan.C\r
606 \r
607 sdag-main.obj:\r
608         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\sdag-main.C\r
609 \r
610 sdag-trans.obj:\r
611         $(CPP) $(SEQCPP_PROJ) $(COMMON_SRC)\sdag-trans.c\r
612 \r
613 CLexer.obj:\r
614         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CLexer.C\r
615 \r
616 CParser.obj:\r
617         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CParser.C\r
618 \r
619 CParsedFile.obj:\r
620         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CParsedFile.C\r
621 \r
622 CParseNode.obj:\r
623         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CParseNode.C\r
624 \r
625 sdag-globals.obj:\r
626         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\sdag-globals.C\r
627 \r
628 CParseNodeProcess.obj:\r
629         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CParseNodeProcess.C\r
630 \r
631 CEntry.obj:\r
632         $(CPP) $(SEQCPP_PROJ) /TP $(COMMON_SRC)\CEntry.C\r
633 \r
634 .IGNORE:         \r
635 CLEAN :\r
636         rd /s /q BASICS\r
637         rd /s /q DIRSSOURCES \r
638         rd /s /q libs\r
639         del   /q *.obj\r
640         del   /q vc60.*\r
641 \r
642 VERYCLEAN : CLEAN\r
643         rd /s /q ..\bin\r
644         rd /s /q ..\lib\r
645         rd /s /q ..\pgms\r
646         rd /s /q ..\libsrc\r
647         rd /s /q ..\include\r
648         rd /s /q ..\src\r
649 \r