add ppc64_linux platform - - - - - - - - - - - - - - - - - - - - - - - -
[dyninst.git] / paradyn / nmake.module.tmpl
1 #
2 # Common makefile template for paradyn.  This file is not intended to
3 # be a useful Makefile in isolation; instead, it should be included
4 # from within an architecture-specific Makefile.
5 #
6 # $Id: nmake.module.tmpl,v 1.17 2005/12/19 19:42:10 pack Exp $
7 #
8
9 CFLAGS          = $(CFLAGS) $(TCLFRIENDLYWARNINGS)
10 #CXXFLAGS       = $(CXXFLAGS) $(TCLFRIENDLYWARNINGS) -DPCDEBUG
11 CXXFLAGS        = $(CXXFLAGS) $(TCLFRIENDLYWARNINGS) 
12 TFLAGS          = $(TFLAGS) $(TCLFRIENDLYWARNINGS)
13
14 CFLAGS          = $(CFLAGS) -I../../dyninstAPI/h
15 CXXFLAGS        = $(CXXFLAGS) -I../../dyninstAPI/h
16 TFLAGS          = $(TFLAGS) -I../../dyninstAPI/h
17 TARGET        = paradyn.exe
18
19 DMSRCS  = ../src/DMthread/DMpublic.C \
20                 ../src/DMthread/DMdaemon.C \
21                 ../src/DMthread/DMmetric.C \
22                 ../src/DMthread/DMmain.C \
23                 ../src/DMthread/DMperfstream.C \
24                 ../src/DMthread/DMresource.C \
25                 ../src/DMthread/DMcritPath.C \
26                 ../src/DMthread/DMphase.C \
27       ../src/DMthread/DMmetricFocusReqBundle.C \
28       ../src/DMthread/DMmetricFocusReq.C \
29                 ../src/DMthread/CallGraph.C \
30                 ../src/DMthread/MagnifyManager.C
31
32 MAINSRCS = ../src/pdMain/main.C  \
33                 ../src/pdMain/main-nt.C
34
35 VMSRCS  = ../src/VMthread/VMmain.C
36
37 VISISRCS        = ../src/VISIthread/VISIthreadmain.C \
38                 ../src/VISIthread/VISIthreadpublic.C
39
40 PCSRCS = ../src/PCthread/PCdata.C \
41                 ../src/PCthread/PCfocus.C \
42                 ../src/PCthread/PCsearch.C \
43                 ../src/PCthread/PCpublic.C \
44                 ../src/PCthread/PCmain.C \
45                 ../src/PCthread/PCconstants.C \
46                 ../src/PCthread/PCfilter.C \
47                 ../src/PCthread/PCmetric.C \
48                 ../src/PCthread/PCwhy.C \
49                 ../src/PCthread/PCexperiment.C \
50                 ../src/PCthread/PCrules.C \
51                 ../src/PCthread/PCshg.C \
52                 ../src/PCthread/PCmetricInst.C \
53                 ../src/PCthread/PCcostServer.C
54
55 UISRCS = ../src/UIthread/tclTunable.C \
56                 ../src/UIthread/Status.C \
57                 ../src/UIthread/uimpd.tcl.C \
58                 ../src/UIthread/UImain.C \
59                 ../src/UIthread/UIpublic.C \
60                 ../src/UIthread/paradyn.tcl.C \
61                 ../src/UIthread/whereAxis.C \
62                 ../src/UIthread/abstractions.C \
63                 ../src/UIthread/where4treeConstants.C \
64                 ../src/UIthread/rootNode.C \
65                 ../src/UIthread/scrollbar.C \
66                 ../src/UIthread/whereAxisTcl.C \
67                 ../src/UIthread/shg.C \
68                 ../src/UIthread/shgRootNode.C \
69                 ../src/UIthread/shgPhases.C \
70                 ../src/UIthread/shgConsts.C \
71                 ../src/UIthread/shgTcl.C \
72                 ../src/UIthread/tkTools.C \
73                 ../src/UIthread/pdLogo.C \
74                 ../src/UIthread/callGraphConsts.C \
75                 ../src/UIthread/callGraphTcl.C \
76                 ../src/UIthread/callGraphDisplay.C \
77                 ../src/UIthread/callGraphRootNode.C \
78                 ../src/UIthread/callGraphs.C \
79         ../src/UIthread/ParadynUI.C \
80         ../src/UIthread/ParadynTclUI.C \
81         ../src/UIthread/ParadynTkGUI.C
82
83 TCSRCS  = ../src/TCthread/TCmain.C \
84                 ../src/TCthread/tunableConst.C
85
86 METSRCS = ../src/met/metMain.C \
87                 ../src/met/mdl.C
88
89 TEMPLSRCS       = ../src/templatesIGENMDL.C  \
90                                 ../src/templatesDM.C  \
91                                 ../src/templatesPCV.C  \
92                                 ../src/templatesUI.C  \
93                                 ../src/templatesUIWASHG.C
94
95 SRCS         = $(SRCS) \
96                                 $(DMSRCS) \
97                                 $(MAINSRCS) \
98                                 $(VMSRCS) \
99                                 $(VISISRCS) \
100                                 $(PCSRCS) \
101                                 $(UISRCS) \
102                                 $(TCSRCS) \
103                                 $(METSRCS) \
104                                 $(TEMPLSRCS) \
105                                 $(TCL2C_GEN_SRCS)
106
107 # note that due to our use of the nmake macro substitution capability
108 # to define the IGEN_GEN_OBJS macro, we must capitalize the files
109 # in IGEN_GEN_SRCS carefully - make sure that the only .C (capital) is
110 # the one we want to replace.  This takes advantage of Windows using a
111 # case preserving but case insensitive filesystem.
112 #
113 IGEN_GEN_SRCS = dataManager.thread.C \
114                 dataManager.thread.clnt.C \
115                 dataManager.thread.srvr.C \
116                 performanceConsultant.thread.C \
117                 performanceConsultant.thread.clnt.C \
118                 performanceConsultant.thread.srvr.C \
119                 dyninstRPC.mrnet.clnt.C \
120                 visi.xdr.clnt.C \
121                 visi.xdr.C \
122                 VISIthread.thread.C \
123                 VISIthread.thread.srvr.C \
124                 VISIthread.thread.clnt.C \
125                 UI.thread.C \
126                 UI.thread.clnt.C \
127                 UI.thread.srvr.C \
128                 VM.thread.C \
129                 VM.thread.srvr.C \
130                 VM.thread.clnt.C 
131
132         
133
134 IGEN_ISRCS    = dataManager.I \
135                 performanceConsultant.I \
136                 dyninstRPC.I \
137                 visi.I \
138                 VISIthread.I \
139                 UI.I \
140                 VM.I
141
142
143 # these pathnames can remain forward slashes - perl seems
144 # to know what to do with them as forward slashes
145 TCL_SRCS        = ../tcl/applic.tcl \
146         ../tcl/errorList.tcl \
147         ../tcl/focusUtils.tcl \
148         ../tcl/generic.tcl \
149         ../tcl/mainMenu.tcl \
150         ../tcl/mets.tcl \
151         ../tcl/save.tcl \
152         ../tcl/shg.tcl \
153         ../tcl/startVisi.tcl \
154         ../tcl/status.tcl \
155         ../tcl/tclTunable.tcl \
156         ../tcl/uimProcs.tcl \
157         ../tcl/whereAxis.tcl \
158         ../tcl/callGraph.tcl
159
160                 
161 SRCS            = $(SRCS) $(TCL2C_GEN_SRCS)
162
163
164 IGEN_GEN_OBJS   = $(IGEN_GEN_SRCS:.C=.obj)
165 TCL2C_GEN_OBJS  = $(TCL2C_GEN_SRCS:.C=.obj)
166
167 # we use a two-step method to convert the Paradyn source specification
168 # to its object specification, because we can only substitute one
169 # section of the pathname at a time.  We remove the "../src/<dir>" prefix
170 # in the TMP_PD_OBJS macro, then conver the .C to a .obj in the PD_OBJS macro.
171 #
172 TMP_PD_OBJS     = $(MAINSRCS:../src/pdMain/=) \
173                         $(DMSRCS:../src/DMthread/=) \
174                         $(VMSRCS:../src/VMthread/=) \
175                         $(VISISRCS:../src/VISIthread/=) \
176                         $(PCSRCS:../src/PCthread/=) \
177                         $(UISRCS:../src/UIthread/=) \
178                         $(TCSRCS:../src/TCthread/=) \
179                         $(METSRCS:../src/met/=) \
180                         $(TEMPLSRCS:../src/=)
181 PD_OBJS         = $(TMP_PD_OBJS:.C=.obj)
182
183 OBJS            = $(OBJS) $(PD_OBJS) $(IGEN_GEN_OBJS) $(TCL2C_GEN_OBJS)
184
185 IFLAGS       = $(IFLAGS) -DPARADYN -I../../mrnet/mrnet/h/ -I../../mrnet -I../../mrnet/mrnet/src/
186
187 LIBS         = $(LIBS) libpdutil.lib libpdthread.lib libmrnet.lib libxplat.lib 
188 SYSLIBS      = $(SYSLIBS) $(TCLTK_LIBS) $(X11_LIB) $(FLEX_LIB) $(RPC_LIB)
189
190 CFLAGS       = $(CFLAGS) -DNO_MDL_PRINT
191 CXXFLAGS     = $(CXXFLAGS) -DNO_MDL_PRINT
192 TFLAGS       = $(TFLAGS) -DNO_MDL_PRINT
193
194 all:    $(TARGET) 
195
196 $(TCL2C_GEN_SRCS):      $(TCL_SRCS)
197         $(PERL) $(TCL2C) $(TCL_SRCS) > $@
198
199 {..\src\pdMain\}.C{}.obj:
200         $(CXX) $(CXXFLAGS) -c $<
201
202 {..\src\DMthread\}.C{}.obj:
203         $(CXX) $(CXXFLAGS) -c $<
204
205 {..\src\VMthread\}.C{}.obj:
206         $(CXX) $(CXXFLAGS) -c $<
207
208 {..\src\VISIthread\}.C{}.obj:
209         $(CXX) $(CXXFLAGS) -c $<
210
211 {..\src\PCthread\}.C{}.obj:
212         $(CXX) $(CXXFLAGS) -c $<
213
214 {..\src\UIthread\}.C{}.obj:
215         $(CXX) $(CXXFLAGS) -c $<
216
217 {..\src\TCthread\}.C{}.obj:
218         $(CXX) $(CXXFLAGS) -c $<
219
220 {..\src\met\}.C{}.obj:
221         $(CXX) $(CXXFLAGS) -c $<
222
223 {..\src\}.C{}.obj:
224         $(CXX) $(CXXFLAGS) -c $<
225
226 dataManager.thread.C \
227         dataManager.thread.h \
228         dataManager.thread.CLNT.C \
229         dataManager.thread.CLNT.h \
230         dataManager.thread.SRVR.C \
231         dataManager.thread.SRVR.h:      ..\h\dataManager.I
232         igen -thread ..\h\dataManager.I
233
234 performanceConsultant.thread.C \
235         performanceConsultant.thread.h \
236         performanceConsultant.thread.CLNT.C \
237         performanceConsultant.thread.CLNT.h \
238         performanceConsultant.thread.SRVR.C \
239         performanceConsultant.thread.SRVR.h:    ..\h\performanceConsultant.I
240         igen -thread ..\h\performanceConsultant.I
241
242 dyninstRPC.mrnet.C \
243         dyninstRPC.mrnet.h \
244         dyninstRPC.mrnet.CLNT.C \
245         dyninstRPC.mrnet.CLNT.h :       ..\h\dyninstRPC.I
246         igen -mrnet ..\h\dyninstRPC.I
247
248 visi.xdr.C \
249         visi.xdr.h \
250         visi.xdr.CLNT.C \
251         visi.xdr.CLNT.h \
252         visi.xdr.SRVR.C \
253         visi.xdr.SRVR.h:        ..\..\visi\h\visi.I
254         igen -xdr ..\..\visi\h\visi.I
255
256 VISIthread.thread.C \
257         VISIthread.thread.h \
258         VISIthread.thread.CLNT.C \
259         VISIthread.thread.CLNT.h \
260         VISIthread.thread.SRVR.C \
261         VISIthread.thread.SRVR.h:       ..\h\VISIthread.I
262         igen -thread ..\h\VISIthread.I
263
264 UI.thread.C \
265         UI.thread.h \
266         UI.thread.CLNT.C \
267         UI.thread.CLNT.h \
268         UI.thread.SRVR.C \
269         UI.thread.SRVR.h:       ..\h\UI.I
270         igen -thread ..\h\UI.I
271
272 VM.thread.C \
273         VM.thread.h \
274         VM.thread.CLNT.C \
275         VM.thread.CLNT.h \
276         VM.thread.SRVR.C \
277         VM.thread.SRVR.h:       ..\h\VM.I
278         igen -thread ..\h\VM.I
279