added source code
[unres.git] / source / unres / src_MD / src / Makefile.tau-mpi-f77-pdt
1 #****************************************************************************
2 #*                      TAU Portable Profiling Package                     **
3 #*                      http://www.cs.uoregon.edu/research/tau             **
4 #****************************************************************************
5 #*    Copyright 1997-2002                                                  **
6 #*    Department of Computer and Information Science, University of Oregon **
7 #*    Advanced Computing Laboratory, Los Alamos National Laboratory        **
8 #****************************************************************************
9 #######################################################################
10 ##                  pC++/Sage++  Copyright (C) 1993,1995             ##
11 ##  Indiana University  University of Oregon  University of Rennes   ##
12 #######################################################################
13  
14 #######################################################################
15 # This is a sample Makefile that contains the Profiling and Tracing 
16 # options. Makefiles of other applications and libraries (not included 
17 # in this distribution) should include this Makefile.
18 # It defines the following variables that should be added to CFLAGS
19 # TAU_INCLUDE   -  Include path for tau headers
20 # TAU_DEFS      -  Defines that are needed for tracing and profiling only.
21 # And for linking add to LIBS 
22 # TAU_LIBS      -  TAU Tracing and Profiling library libprof.a 
23
24 # When the user needs to turn off tracing and profiling and run the 
25 # application without any runtime overhead of instrumentation, simply
26 # remove TAUDEFS and TAULIBS from CFLAGS and LIBS respectively but keep
27 # TAUINC.
28 #######################################################################
29
30 ########### Automatically modified by the configure script ############
31 CONFIG_ARCH=bgp
32 TAU_ARCH=bgp
33 CONFIG_CC=bgxlc_r
34 CONFIG_CXX=bgxlC_r
35 TAU_CC_FE=$(CONFIG_CC)
36 TAU_CXX_FE=$(CONFIG_CXX)
37
38 # Front end C/C++ Compilers
39 #BGL#TAU_CC_FE=xlc #ENDIF#
40 #BGL#TAU_CXX_FE=xlC #ENDIF#
41 TAU_CC_FE=xlc #ENDIF##BGP#
42 TAU_CXX_FE=xlC #ENDIF##BGP#
43 #CATAMOUNT#TAU_CC_FE=gcc #ENDIF#
44 #CATAMOUNT#TAU_CXX_FE=g++ #ENDIF#
45 #SC_GFORTRAN#TAU_CC_FE=gcc #ENDIF#
46 #SC_GFORTRAN#TAU_CXX_FE=g++ #ENDIF#
47 #SC_PATHSCALE#TAU_CC_FE=gcc #ENDIF#
48 #SC_PATHSCALE#TAU_CXX_FE=g++ #ENDIF#
49
50 PCXX_OPT=-g
51 USER_OPT=
52 EXTRADIR=/opt/ibmcmp/xlf/bg/11.1/bin/..
53 EXTRADIRCXX=/opt/ibmcmp/vacpp/bg/9.0/bin/..
54 TAUROOT=/soft/apps/tau/tau_latest
55 TULIPDIR=
56 TAUEXTRASHLIBOPTS=
57 TAUGCCLIBOPTS=
58 TAUGCCLIBDIR=
59 TAUGFORTRANLIBDIR=
60 PCLDIR=
61 PAPIDIR=
62 PAPISUBDIR=
63 CHARMDIR=
64 PDTDIR=/soft/apps/tau/pdtoolkit-3.12
65 PDTCOMPDIR=
66 DYNINSTDIR=
67 JDKDIR=
68 SLOG2DIR=
69 OPARIDIR=
70 TAU_OPARI_TOOL=
71 EPILOGDIR=
72 EPILOGBINDIR=
73 EPILOGINCDIR=
74 EPILOGLIBDIR=
75 EPILOGEXTRALINKCMD=
76 VAMPIRTRACEDIR=
77 KTAU_INCDIR=
78 KTAU_INCUSERDIR=
79 KTAU_LIB=
80 KTAU_KALLSYMS_PATH=
81 PYTHON_INCDIR=
82 PYTHON_LIBDIR=
83 PERFINCDIR=
84 PERFLIBDIR=
85 PERFLIBRARY=
86 TAU_SHMEM_INC=
87 TAU_SHMEM_LIB=
88 TAU_CONFIG=-mpi-pdt
89 TAU_MPI_INC=-I/bgsys/drivers/ppcfloor/comm/include
90 TAU_MPI_LIB=-L/soft/apps/tau/tau_latest/bgp/lib -lTauMpi$(TAU_CONFIG) -L/bgsys/drivers/ppcfloor/comm/lib
91 TAU_MPI_FLIB=-lfmpich.cnk -L/soft/apps/tau/tau_latest/bgp/lib -lTauMpi$(TAU_CONFIG) -L/bgsys/drivers/ppcfloor/comm/lib
92 TAU_MPILIB_DIR=/bgsys/drivers/ppcfloor/comm/lib
93 TAU_MPI_NOWRAP_LIB= -L/bgsys/drivers/ppcfloor/comm/lib
94 TAU_MPI_NOWRAP_FLIB=-lfmpich.cnk  -L/bgsys/drivers/ppcfloor/comm/lib
95 FULL_CXX=mpixlcxx_r
96 FULL_CC=mpixlc_r
97 TAU_PREFIX_INSTALL_DIR=/soft/apps/tau/tau_latest
98
99 TAU_BIN_DIR=$(TAU_PREFIX_INSTALL_DIR)/$(CONFIG_ARCH)/bin
100 TAU_INC_DIR=$(TAU_PREFIX_INSTALL_DIR)/include
101 TAU_LIB_DIR=$(TAU_PREFIX_INSTALL_DIR)/$(CONFIG_ARCH)/lib
102
103 #######################################################################
104
105 #OPARI#TAU_OPARI_TOOL=$(TAU_BIN_DIR)/opari        #ENDIF#
106 #ENABLE64BIT#ABI             = -64                #ENDIF#
107 #ENABLEN32BIT#ABI            = -n32               #ENDIF#
108 #ENABLE32BIT#ABI             = -32                #ENDIF#
109
110 #######################################################################
111 #SP1#IBM_XLC_ABI             = -q32               #ENDIF#
112 #SP1#IBM_GNU_ABI             = -maix32            #ENDIF#
113 #IBM64#IBM_XLC_ABI           = -q64               #ENDIF#
114 #IBM64#IBM_GNU_ABI           = -maix64            #ENDIF#
115 #IBM64LINUX#IBM_XLC_ABI      = -q64               #ENDIF#
116 #IBM64LINUX#IBM_GNU_ABI      = -m64               #ENDIF#
117 #SUNX86_64#SUN_GNU_ABI       = -m64               #ENDIF#
118 #SUNX86_64#SUN_CC_ABI        = -xarch=amd64       #ENDIF#
119 #MIPS32LINUX#SC_GNU_ABI      = -mabi=n32          #ENDIF#
120 #MIPS32LINUX#SC_PATH_ABI     = -n32               #ENDIF#
121 #MIPS64LINUX#SC_GNU_ABI      = -mabi=64           #ENDIF#
122 #MIPS64LINUX#SC_PATH_ABI     = -64               #ENDIF#
123 #GNU#SC_ABI                  = $(SC_GNU_ABI)      #ENDIF#
124 #USE_PATHCC#SC_ABI           = $(SC_PATH_ABI)     #ENDIF#
125 #MIPS32#ABI                  = $(SC_ABI)          #ENDIF#
126 #MIPS64#ABI                  = $(SC_ABI)          #ENDIF#
127
128 IBM_ABI              = $(IBM_XLC_ABI)     #ENDIF##USE_IBMXLC#
129 #GNU#IBM_ABI                 = $(IBM_GNU_ABI)     #ENDIF#
130 #SP1# ABI                    = $(IBM_ABI)         #ENDIF#
131 #PPC64# ABI                  = $(IBM_ABI)         #ENDIF#
132 #SOLARIS64#SUN_GNU_ABI       = -mcpu=v9 -m64      #ENDIF#
133 #SOLARIS64#SUN_CC_ABI        = -xarch=v9 -xcode=pic32     #ENDIF#
134 #SOL2CC#SUN_ABI              = $(SUN_CC_ABI)      #ENDIF#
135 #GNU#SUN_ABI                 = $(SUN_GNU_ABI)     #ENDIF#
136 #SOL2#ABI                    = $(SUN_ABI)         #ENDIF#
137 #SUNX86_64#ABI               = $(SUN_ABI)         #ENDIF#
138 #FORCEIA32#ABI               = -m32#ENDIF#
139 #######################################################################
140 F90_ABI = $(ABI) 
141 #IBM64_FORTRAN#F90_ABI       = -q64               #ENDIF#
142 #######################################################################
143
144 ############# Standard Defines ##############
145 TAU_CC = $(CONFIG_CC) $(ABI) $(ISA)
146 TAU_CXX = $(CONFIG_CXX) $(ABI) $(ISA) $(USER_OPT)
147 TAU_RUN_CC = $(FULL_CC) $(ABI) $(ISA)
148 TAU_RUN_CXX = $(FULL_CXX) $(ABI) $(ISA)
149 TAU_INSTALL = /bin/cp
150 TAU_SHELL = /bin/sh
151 LSX = .a
152 #############################################
153 # JAVA DEFAULT ARCH 
154 #############################################
155 JDKARCH                 = linux
156 #COMPAQ_ALPHA#JDKARCH   = alpha      #ENDIF#
157 #SOL2#JDKARCH           = solaris    #ENDIF#
158 #SGIMP#JDKARCH          = irix       #ENDIF#
159 #SP1#JDKARCH            = aix        #ENDIF#
160 #T3E#JDKARCH            = cray       #ENDIF#
161 #############################################
162 # JAVA OBJECTS
163 #############################################
164 #JAVA#TAU_JAVA_O        = TauJava.o TauJAPI.o  #ENDIF#
165 #JAVA#TAUJAPI   = Profile.class        #ENDIF#
166
167
168 #############################################
169 # OpenMP OBJECTS
170 #############################################
171 #OPENMP#OPENMP_O        = OpenMPLayer.o #ENDIF#
172
173 #############################################
174 # Opari OBJECTS
175 #############################################
176 #OPARI#OPARI_O  = TauOpari.o #ENDIF#
177 #KOJAKOPARI#OPARI_O     = TauKojakOpari.o #ENDIF#
178 #EPILOG#OPARI_O         =  #ENDIF#
179 #VAMPIRTRACE#OPARI_O    =  #ENDIF#
180 #GNU#OPARI_O    = #ENDIF#
181
182 #############################################
183 # CallPath OBJECTS
184 #############################################
185 #PROFILECALLPATH#CALLPATH_O  = TauCallPath.o #ENDIF#
186 #PROFILEPARAM#PARAM_O  = ProfileParam.o #ENDIF#
187
188 #############################################
189 # Python Binding OBJECTS
190 #############################################
191 #PYTHON#PYTHON_O  = PyGroups.o PyExceptions.o PyDatabase.o PyBindings.o PyTimer.o PyTau.o #ENDIF#
192
193 #############################################
194 # DYNINST DEFAULT ARCH
195 #############################################
196 DYNINST_PLATFORM        = $(PLATFORM)
197
198
199 #PCL##include $(TAU_INC_DIR)/makefiles/PCLMakefile.stub   #ENDIF#
200
201 ############# OpenMP Fortran Option ########
202 #OPENMP#TAU_F90_OPT = -mp                   #ENDIF#
203 #SOL2CC_OPENMP#TAU_F90_OPT = -xopenmp       #ENDIF#
204 #SUNCC_OPENMP#TAU_F90_OPT = -xopenmp=parallel       #ENDIF#
205 #COMPAQCXX_OPENMP#TAU_F90_OPT = -omp        #ENDIF#
206 #IBMXLC_OPENMP#TAU_F90_OPT = -qsmp=omp      #ENDIF#
207 #GUIDE#TAU_F90_OPT =                        #ENDIF#
208 #PGIOPENMP#TAU_F90_OPT = -mp                #ENDIF#
209 #INTELOPENMP#TAU_F90_OPT = -openmp          #ENDIF#
210 #HITACHI_OPENMP#TAU_F90_OPT =               #ENDIF#
211
212 TAU_R         =_r     #ENDIF##THREADSAFE_COMPILERS#
213
214 ############# Fortran Compiler #############
215 #GNU_FORTRAN#TAU_F90         = g77              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
216 #GNU_GFORTRAN#TAU_F90         = gfortran              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
217 #G95_FORTRAN#TAU_F90         = g95              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
218 #SC_GFORTRAN#TAU_F90         = scgfortran              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
219 #SGI_FORTRAN#TAU_F90         = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
220 TAU_F90         = xlf77$(TAU_R)    $(F90_ABI) $(TAU_F90_OPT)   #ENDIF##IBM_FORTRAN#
221 TAU_F90         = mpixlf77$(TAU_R)    $(F90_ABI) $(TAU_F90_OPT)   #ENDIF##BGP#
222 #BGL#TAU_F90         = blrts_xlf90$(TAU_R)    $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
223 #IBM64_FORTRAN#TAU_F90       = xlf90$(TAU_R)    $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
224 #IBMXLFAPPLE#TAU_F90       = xlf90$(TAU_R)    $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
225 #CRAY_FORTRAN#TAU_F90        = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
226 #CRAY_X1_FORTRAN#TAU_F90     = ftn              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
227 #PGI_FORTRAN#TAU_F90         = pgf90            $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
228 #CRAYCNL#TAU_F90         = ftn            $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
229 #PGI_CATAMOUNT#TAU_F90         = qk-pgf90         $(F90_ABI) $(TAU_F90_OPT) #ENDIF#
230 #ABSOFT_FORTRAN#TAU_F90      = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
231 #LAHEY_FORTRAN#TAU_F90      = lf95              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
232 #LAHEY64_FORTRAN#TAU_F90      = lf95              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
233 #NAGWARE_FORTRAN#TAU_F90      = f95              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
234 #FUJITSU_FORTRAN#TAU_F90     = F90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
235 #FUJITSU_SOLARIS#TAU_F90     = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
236 #SUN_FORTRAN#TAU_F90         = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
237 #COMPAQ_FORTRAN#TAU_F90      = f90              $(F90_ABI)  $(TAU_F90_OPT)  #ENDIF#
238 #KAI_FORTRAN#TAU_F90         = guidef90         $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
239 #HP_FORTRAN#TAU_F90          = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
240 #HITACHI_FORTRAN#TAU_F90     = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
241 #INTEL_FORTRAN#TAU_F90       = efc              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
242 #INTEL32_FORTRAN#TAU_F90     = ifc              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
243 #INTELIFORT#TAU_F90     = ifort                 $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
244 #PATHSCALE_FORTRAN#TAU_F90     = pathf90         $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
245 #SC_PATHSCALE#TAU_F90     = scpathf95         $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
246 #OPEN64ORC_FORTRAN#TAU_F90     = orf90         $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
247 #NEC_FORTRAN#TAU_F90         = f90              $(F90_ABI) $(TAU_F90_OPT)   #ENDIF#
248
249
250 ############# Portable F90 Options #############
251 #IBM64_FORTRAN#TAU_F90_FIXED      = -qfixed  #ENDIF#
252 TAU_F90_FIXED      = -qfixed  #ENDIF##IBM_FORTRAN#
253 TAU_F90_SUFFIX     = -qsuffix=f=f90  #ENDIF##IBM_FORTRAN#
254 #IBMXLFAPPLE#TAU_F90_FIXED      = -qfixed  #ENDIF#
255 #IBMXLFAPPLE#TAU_F90_SUFFIX     = -qsuffix=f=f90  #ENDIF#
256 #IBM64_FORTRAN#TAU_F90_SUFFIX     = -qsuffix=f=f90  #ENDIF#
257
258 ############# Profiling Options #############
259 PROFILEOPT1           = -DPROFILING_ON        #ENDIF##PROFILE#
260 #PCL#PROFILEOPT3               = -DTAU_PCL -I$(PCLDIR)/include #ENDIF#
261 #PAPI#PROFILEOPT3              = -DTAU_PAPI -I$(PAPIDIR)/src -I$(PAPIDIR)/include #ENDIF#
262 #PCL#PCL_O                     = PclLayer.o            #ENDIF#
263 #PAPI#PAPI_O                   = PapiLayer.o           #ENDIF#
264 #MULTIPLECOUNTERS#MULT_O       = MultipleCounters.o    #ENDIF#
265 #PROFILECALLS#PROFILEOPT4      = -DPROFILE_CALLS       #ENDIF#
266 #PROFILESTATS#PROFILEOPT5      = -DPROFILE_STATS       #ENDIF#
267 #DEBUGPROF#PROFILEOPT6         = -DDEBUG_PROF          #ENDIF#
268 PROFILEOPT7         = -DTAU_STDCXXLIB       #ENDIF##STDCXXLIB#
269 #CRAYX1CC#PROFILEOPT7         = #ENDIF#
270 #CRAYCC#PROFILEOPT7         = #ENDIF#
271 #INTELTFLOP#PROFILEOPT8        = -DPOOMA_TFLOP         #ENDIF#
272 #NORTTI#PROFILEOPT9            = -DNO_RTTI             #ENDIF#
273 #RTTI#PROFILEOPT9              = -DRTTI             #ENDIF#
274 #GNU#PROFILEOPT10              = -DTAU_GNU  -DTAU_DOT_H_LESS_HEADERS  -fPIC #ENDIF#
275 #APPLECXX#PROFILEOPT10              = -DTAU_GNU  -DTAU_DOT_H_LESS_HEADERS -fPIC #ENDIF#
276 #SOL2CC#PROFILEOPT10              = -DTAU_SOL2CC  -DTAU_DOT_H_LESS_HEADERS #ENDIF#
277 #SUNCC#PROFILEOPT10              = -DTAU_SOL2CC  -DTAU_DOT_H_LESS_HEADERS #ENDIF#
278 #USE_PATHCC#PROFILEOPT10       = -DTAU_DOT_H_LESS_HEADERS -fPIC -DTAU_PATHSCALE #ENDIF#
279 #OPEN64ORC#PROFILEOPT10       = -DTAU_DOT_H_LESS_HEADERS -DTAU_OPEN64ORC -fpic  #ENDIF#
280 #CALLSTACK#PROFILEOPT11        = -DPROFILE_CALLSTACK   #ENDIF#
281 #PGI1.7#PROFILEOPT12           = -DPGI                 #ENDIF#
282 #CRAYKAI#PROFILEOPT12          = -DCRAYKAI             #ENDIF#
283 #HP_FORTRAN#PROFILEOPT12       = -DHP_FORTRAN          #ENDIF#
284 #CRAYCC#PROFILEOPT13           = -h instantiate=used -DCRAYCC -DTAU_DOT_H_LESS_HEADERS  #ENDIF#
285 #CRAYX1CC#PROFILEOPT13         = -DTAU_DOT_H_LESS_HEADERS #ENDIF#
286 #SGICC#TAU_CXX = $(CONFIG_CXX) $(ABI) $(ISA) $(USER_OPT) -LANG:std  #ENDIF#
287 #INTELCXXLIBICC#TAU_CXX = $(CONFIG_CXX) $(ABI) $(ISA) $(USER_OPT) -cxxlib-icc #ENDIF#
288 #PTHREAD_AVAILABLE#PROFILEOPT15 = -DPTHREADS           #ENDIF#
289 #COMPAQCXX_PTHREAD#PROFILEOPT15 = -DPTHREADS -pthread  #ENDIF#
290 #TAU_SPROC#PROFILEOPT15         = -DTAU_SPROC          #ENDIF#
291 #TAU_PAPI_THREADS#PROFILEOPT15  = -DTAU_PAPI_THREADS           #ENDIF#
292 #TULIPTHREADS#PROFILEOPT16 = -DTULIPTHREADS            #ENDIF#
293 #TRACE#TRACEOPT                = -DTRACING_ON          #ENDIF#
294 #TRACE#EVENTS_O                = Tracer.o              #ENDIF#
295 #KTAU#KTAU_O                    = TauKtau.o KtauProfiler.o KtauSymbols.o  #ENDIF#
296 #KTAU_MERGE#KTAU_MERGE_O        = KtauFuncInfo.o KtauMergeInfo.o ktau_syscall.o  #ENDIF#
297 #KTAU_SHCTR#KTAU_SHCTR_O        = KtauCounters.o  #ENDIF#
298 #MPITRACE#TRACEOPT       = -DTAU_MPITRACE -DTRACING_ON #ENDIF#
299 #MPITRACE#EVENTS_O                = Tracer.o              #ENDIF#
300 #MUSE#MUSE_O                  = TauMuse.o TauMuseFilters.o TauMuseHandlers.o TauMusePackages.o #ENDIF#
301 #MUSE_EVENT#MUSE_O                  = TauMuse.o TauMuseFilters.o TauMuseHandlers.o TauMusePackages.o #ENDIF#
302 #MUSE_MULTIPLE#MUSE_O                  = TauMuse.o TauMuseFilters.o TauMuseHandlers.o TauMusePackages.o #ENDIF#
303 #COMPENSATE#COMPENSATE_O      = TauCompensate.o #ENDIF#
304 #PTHREAD_AVAILABLE#THR_O       = PthreadLayer.o        #ENDIF#
305 #TAU_PAPI_THREADS#THR_O       = PapiThreadLayer.o        #ENDIF#
306 #TAU_SPROC#THR_O               = SprocLayer.o        #ENDIF#
307 #JAVA#THR_O                    = JavaThreadLayer.o     #ENDIF#
308 #TULIPTHREADS#THR_O       = TulipThreadLayer.o         #ENDIF#
309 #LINUXTIMERS#PLATFORM_O       = TauLinuxTimers.o       #ENDIF#
310 #TULIPTHREADS#PROFILEOPT17  = -I$(TULIPDIR)/include -I$(TULIPDIR)/Tuliplib   #ENDIF#
311 #SMARTS#PROFILEOPT17  = -I$(TULIPDIR)/include -I$(TULIPDIR)/lib -I$(TULIPDIR)/machine-specific/$(HOSTTYPE)  #ENDIF#
312 #SMARTS#PROFILEOPT18  = -DSMARTS   #ENDIF#
313 #KAI#PROFILEOPT19              = -DKAI  -DTAU_DOT_H_LESS_HEADERS #ENDIF#
314 #USE_DECCXX#PROFILEOPT19               = -DTAU_DOT_H_LESS_HEADERS   #ENDIF#
315 #SGICC#PROFILEOPT19            = -DTAU_DOT_H_LESS_HEADERS   #ENDIF#
316 #USE_INTELCXX#PROFILEOPT19     = -DTAU_DOT_H_LESS_HEADERS   -fPIC #ENDIF#
317 #USE_NECCXX#PROFILEOPT19     = -DTAU_DOT_H_LESS_HEADERS   #ENDIF#
318 #PGI#PROFILEOPT19              = -DTAU_DOT_H_LESS_HEADERS   -fPIC #ENDIF#
319 #ACC#PROFILEOPT19              = -AA +z -DTAU_DOT_H_LESS_HEADERS -DTAU_HPUX #ENDIF#
320 #FUJITSU#PROFILEOPT19          = -DFUJITSU -DTAU_DOT_H_LESS_HEADERS   #ENDIF#
321 #KAINOEX#PROFILEOPT20          = --no_exceptions   #ENDIF#
322 #SGICCNOEX#PROFILEOPT20                = -LANG:exceptions=off  #ENDIF#
323 #HPGNU#PROFILEOPT21            = -fPIC #ENDIF#
324 #HITACHI#PROFILEOPT21          = -DTAU_HITACHI #ENDIF#
325 #SP1#PROFILEOPT21              = -D_POSIX_SOURCE -DTAU_AIX #ENDIF#
326 #PPC64#TAU_PIC_PROFILEOPT21           = -qpic=large #ENDIF#
327 #BGL#TAU_PIC_PROFILEOPT21           = #ENDIF#
328 PROFILEOPT21           = -DTAU_DOT_H_LESS_HEADERS -DTAU_XLC $(TAU_PIC_PROFILEOPT21) #ENDIF##USE_IBMXLC#
329 #IBMXLCAPPLE#PROFILEOPT21              = -DTAU_DOT_H_LESS_HEADERS -DTAU_XLC -DTAU_APPLE_XLC #ENDIF#
330 #PCLPTHREAD#PROFILEOPT22               = -DPCL_MUTEX_LOCK #ENDIF#
331 #JAVA#PROFILEOPT23             = -DJAVA                 #ENDIF#
332 #MONITOR#PROFILEOPT24          = -DMONITORING_ON        #ENDIF#
333 #JAVA#PROFILEOPT25 = -I$(JDKDIR)/include -I$(JDKDIR)/include/$(JDKARCH) #ENDIF#
334 PROFILEOPT26 = -DTAU_MPI #ENDIF##MPI#
335 PROFILEOPT26 = -DTAU_MPI -DTAU_MPI_THREADED #ENDIF##MPI_THREADED#
336 #OPENMP#PROFILEOPT27 = -mp -DTAU_OPENMP#ENDIF#
337 #GNU#PROFILEOPT27 = #ENDIF#
338 #SOL2CC_OPENMP#PROFILEOPT27 = -xopenmp -DTAU_OPENMP#ENDIF#
339 #SUNCC_OPENMP#PROFILEOPT27 = -xopenmp=parallel -DTAU_OPENMP#ENDIF#
340 #SUNCC_OPENMP#PROFILEOPT27 = -xopenmp=parallel -DTAU_OPENMP#ENDIF#
341 #HITACHI_OPENMP#PROFILEOPT27 = -DTAU_OPENMP#ENDIF#
342 #COMPAQCXX_OPENMP#PROFILEOPT27 = -omp -DTAU_OPENMP#ENDIF#
343 #IBMXLC_OPENMP#PROFILEOPT27 = -qsmp=omp -DTAU_OPENMP #ENDIF#
344 #OPEN64_OPENMP#PROFILEOPT27 = -mp -DTAU_OPENMP #ENDIF#
345 #GUIDE#PROFILEOPT27 = -DTAU_OPENMP #ENDIF#
346 #PGIOPENMP#PROFILEOPT27 = -mp -D_OPENMP -DTAU_OPENMP -U_RWSTD_MULTI_THREAD -U_REENTRANT #ENDIF#
347 #INTELOPENMP#PROFILEOPT27 = -openmp -DTAU_OPENMP #ENDIF#
348 #GNUOPENMP#PROFILEOPT27 = -fopenmp -DTAU_OPENMP #ENDIF#
349 #OPARI#PROFILEOPT28 = -I$(OPARIDIR)/lib -I$(OPARIDIR)/include #ENDIF#
350 #OPARI_REGION#PROFILEOPT28 = -DTAU_OPARI_REGION -I$(OPARIDIR)/lib -I$(OPARIDIR)/include #ENDIF#
351 #OPARI_CONSTRUCT#PROFILEOPT28 = -DTAU_OPARI_CONSTRUCT -I$(OPARIDIR)/lib -I$(OPARIDIR)/include #ENDIF#
352 #MULTIPLECOUNTERS#PROFILEOPT29 = -DTAU_MULTIPLE_COUNTERS #ENDIF#
353 #SGITIMERS#PROFILEOPT30         = -DSGI_TIMERS          #ENDIF#
354 #BGLTIMERS#PROFILEOPT30         = -DBGL_TIMERS -I/bgl/BlueLight/ppcfloor/bglsys/include #ENDIF#
355 #BGPTIMERS#PROFILEOPT30         = -DBGP_TIMERS -I/bgsys/drivers/ppcfloor/arch/include/common -I/bgsys/drivers/ppcfloor/arch/include -I/bgsys/drivers/ppcfloor/arch/include/spi #ENDIF#
356 #CRAYTIMERS#PROFILEOPT30         = -DCRAY_TIMERS          #ENDIF#
357 #LINUXTIMERS#PROFILEOPT31       = -DTAU_LINUX_TIMERS    #ENDIF#
358 #ALPHATIMERS#PROFILEOPT31       = -DTAU_ALPHA_TIMERS    #ENDIF#
359 #CPUTIME#PROFILEOPT32           = -DCPU_TIME          #ENDIF#
360 #PAPIWALLCLOCK#PROFILEOPT33     = -DTAU_PAPI_WALLCLOCKTIME    #ENDIF#
361 #PAPIVIRTUAL#PROFILEOPT34       = -DTAU_PAPI_VIRTUAL    #ENDIF#
362 #SGICOUNTERS#PROFILEOPT35      = -DSGI_HW_COUNTERS     #ENDIF#
363 #EPILOG#PROFILEOPT36           = -DTAU_EPILOG -I$(EPILOGINCDIR) #ENDIF#
364 #SCALASCA#PROFILEOPT36         = -DTAU_SCALASCA -DTAU_EPILOG -I$(EPILOGINCDIR)  #ENDIF#
365 #VAMPIRTRACEINTS#TAU_VAMPIRTRACEOPTS = -DTAU_64BITTYPES_NEEDED -DHAVE_INTTYPES_H #ENDIF#
366 #VAMPIRTRACE#PROFILEOPT36              = -DTAU_VAMPIRTRACE -I$(VAMPIRTRACEDIR)/vtlib -I$(VAMPIRTRACEDIR)/include $(TAU_VAMPIRTRACEOPTS)#ENDIF#
367 #PROFILECALLPATH#PROFILEOPT36  = -DTAU_CALLPATH #ENDIF#
368 #PROFILEPHASE#PROFILEOPT36  = -DTAU_CALLPATH -DTAU_PROFILEPHASE#ENDIF#
369 #PYTHON#PROFILEOPT37  = -I$(PYTHON_INCDIR) #ENDIF#
370 #NOCOMM#PROFILEOPT38  = -DTAU_NOCOMM #ENDIF#
371 #MUSE#PROFILEOPT39  = -DTAU_MUSE #ENDIF#
372 #SETNODE0#PROFILEOPT40  = -DTAU_SETNODE0 #ENDIF#
373 #COMPENSATE#PROFILEOPT41  = -DTAU_COMPENSATE #ENDIF#
374 #MUSE_EVENT#PROFILEOPT42  = -DTAU_MUSE_EVENT #ENDIF#
375 #MUSE_MULTIPLE#PROFILEOPT43  = -DTAU_MUSE_MULTIPLE #ENDIF#
376 #DYNINST41##PROFILEOPT44  = -DTAU_DYNINST41BUGFIX #ENDIF#
377 # DyninstAPI v4.2.1 fixes the bug, so we don't need OPT44 anymore
378 #PROFILEMEMORY#PROFILEOPT45  = -DTAU_PROFILEMEMORY   #ENDIF#
379 PROFILEOPT46  = -DTAU_MPIGREQUEST   #ENDIF##MPIGREQUEST#
380 #MPIOREQUEST#PROFILEOPT47  = -DTAU_MPIOREQUEST   #ENDIF#
381 PROFILEOPT48  = -DTAU_MPIDATAREP   #ENDIF##MPIDATAREP#
382 PROFILEOPT49  = -DTAU_MPIERRHANDLER  #ENDIF##MPIERRHANDLER#
383 #CATAMOUNT#PROFILEOPT50  = -DTAU_CATAMOUNT  #ENDIF#
384 #MPICONSTCHAR#PROFILEOPT51  = -DTAU_MPICONSTCHAR  #ENDIF#
385 PROFILEOPT52  = -DTAU_MPIATTRFUNCTION   #ENDIF##MPIATTR#
386 PROFILEOPT53  = -DTAU_MPITYPEEX   #ENDIF##MPITYPEEX#
387 PROFILEOPT54  = -DTAU_MPIADDERROR   #ENDIF##MPIADDERROR#
388 #MPINEEDSTATUSCONV#PROFILEOPT55  = -DTAU_MPI_NEEDS_STATUS   #ENDIF#
389
390 #DEPTHLIMIT#PROFILEOPT56      = -DTAU_DEPTH_LIMIT       #ENDIF#
391 #TAU_CHARM#PROFILEOPT57 = -DTAU_CHARM -I$(CHARMDIR)/include #ENDIF#
392 #PROFILEHEADROOM#PROFILEOPT58  = -DTAU_PROFILEHEADROOM   #ENDIF#
393 #JAVACPUTIME#PROFILEOPT59           = -DJAVA_CPU_TIME          #ENDIF#
394 PROFILEOPT60           = -DTAU_LARGEFILE -D_LARGEFILE64_SOURCE     #ENDIF##TAU_LARGEFILE#
395 PROFILEOPT60           = -DTAU_LARGEFILE -D_LARGEFILE64_SOURCE -D__xlc__ #ENDIF##BGP#
396 # Omit the -D_LARGETFILE64_SOURCE till we can check the IBM crash
397 #SHMEM#PROFILEOPT61           = -DTAU_SHMEM #ENDIF#
398 #KTAU#PROFILEOPT62  = -DTAUKTAU -DKTAU_USER_SRC_COMPILE -I$(KTAU_INCDIR) -I$(KTAU_INCUSERDIR) -DKTAU_INCUSERDIR=\"$(KTAU_INCUSERDIR)\" -DKTAU_KALLSYMS_PATH=\"$(KTAU_KALLSYMS_PATH)\" #ENDIF#
399 #KTAU_MERGE#PROFILEOPT63  = -DTAUKTAU_MERGE -DKTAU_USER_SRC_COMPILE -I$(KTAU_INCDIR) -DKTAU_INCUSERDIR=\"$(KTAU_INCUSERDIR)\" -DKTAU_KALLSYMS_PATH=\"$(KTAU_KALLSYMS_PATH)\" #ENDIF#
400 #FREEBSD#PROFILEOPT64  = -DTAU_FREEBSD #ENDIF#
401 #PROFILEPARAM#PROFILEOPT65  = -DTAU_PROFILEPARAM #ENDIF#
402 #IBMMPI#PROFILEOPT66  = -DTAU_IBM_MPI #ENDIF#
403 #WEAKMPIINIT#PROFILEOPT67  = -DTAU_WEAK_MPI_INIT   #ENDIF#
404 #LAMPI#PROFILEOPT68 = -DTAU_LAMPI #ENDIF#
405 #MPICH_IGNORE_CXX_SEEK#PROFILEOPT68 = -DMPICH_IGNORE_CXX_SEEK #ENDIF#
406 PROFILEOPT68 = -DMPICH_IGNORE_CXX_SEEK #ENDIF##BGP#
407 #MPICH2_MPI_INPLACE#PROFILEOPT73 = -DTAU_MPICH2_MPI_IN_PLACE #ENDIF#
408
409
410 ############# RENCI Scalable Trace Lib Options #############
411 STFF_DIR=
412 SDDF_DIR=
413 #RENCI_STFF#PROFILEOPT69 = -DRENCI_STFF -I$(STFF_DIR)/include #ENDIF#
414 #RENCI_STFF#TAU_LINKER_OPT11 = -L$(STFF_DIR)/lib -lstff -L$(SDDF_DIR)/lib -lPablo $(TAU_MPI_LIB) #ENDIF#
415 #RENCI_STFF#RENCI_STFF_O = RenciSTFF.o    #ENDIF#
416
417 ############# KTAU (again) #############
418 #KTAU_SHCTR#PROFILEOPT70  = -DTAUKTAU_SHCTR -DKTAU_USER_SRC_COMPILE -I$(KTAU_INCDIR) -DKTAU_INCUSERDIR=\"$(KTAU_INCUSERDIR)\" -DKTAU_KALLSYMS_PATH=\"$(KTAU_KALLSYMS_PATH)\" #ENDIF#
419 #KTAU#TAU_LINKER_OPT12 = -L$(KTAU_LIB) -lktau #ENDIF#
420
421 #MIPS32LINUX#PROFILEOPT71 =  -D_ABIN32=2 -D_MIPS_SIM=_ABIN32 #ENDIF#
422
423 #BGL#PROFILEOPT72 = -DTAU_BGL -I/bgl/BlueLight/ppcfloor/bglsys/include #ENDIF#
424 PROFILEOPT72 = -DTAU_BGP -I/bgsys/drivers/ppcfloor/arch/include/common -I/bgsys/drivers/ppcfloor/arch/include -I/bgsys/drivers/ppcfloor/arch/include/spi #ENDIF##BGP#
425
426 #For F90 support for all platforms
427 FWRAPPER               = TauFMpi.o       
428 MPI2EXTENSIONS         = TauMpiExtensions.o       #ENDIF##MPI2#
429 MPI2EXTENSIONS         =  #ENDIF##BGP#
430 #CRAYX1CC#MPI2EXTENSIONS               =        #ENDIF#
431
432 #SGICOUNTERS#LEXTRA            = -lperfex              #ENDIF#
433 #ALPHATIMERS#LEXTRA            = -lrt          #ENDIF#
434 #SOL2#PCL_EXTRA_LIBS = -lcpc #ENDIF#
435 #PCL#LEXTRA                    = -L$(PCLDIR)/lib -lpcl $(PCL_EXTRA_LIBS)      #ENDIF#
436 #PAPI#LEXTRA                   = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a #ENDIF#
437 #IA64PAPI#LEXTRA               = -L$(PAPIDIR)/$(PAPISUBDIR) -lpapi #ENDIF#
438 #Due to some problems with older versions of libpfm, we are using the static lib
439 #IA64PAPI#LEXTRA               =   $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a #ENDIF#
440 #PAPIPFM##LEXTRA               = -L$(PAPIDIR)/$(PAPISUBDIR) -lpfm -lpapi -lpfm #ENDIF#
441 #X86_64PAPI#LEXTRA  = -L$(PAPIDIR)/$(PAPISUBDIR)/ -L$(PAPIDIR)/lib64/ -lpapi -lperfctr #ENDIF#
442 #SOL2PAPI#LEXTRA               = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a -lcpc #ENDIF#
443 #IBMPAPI#LEXTRA  = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a -L/usr/lpp/pmtoolkit/lib -L/usr/pmapi/lib -lpmapi#ENDIF#
444 #PPC64PAPI#LEXTRA  = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a #ENDIF#
445 #BGLPAPI_RTS#LEXTRA  = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.rts.a -L/bgl/BlueLight/ppcfloor/bglsys/lib -lbgl_perfctr.rts -lrts.rts -ldevices.rts #ENDIF#
446 #BGLPAPI#LEXTRA  = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a -L/bgl/BlueLight/ppcfloor/bglsys/lib -lbgl_perfctr.rts -lrts.rts -ldevices.rts #ENDIF#
447 #BGPPAPI#LEXTRA  = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a  -L/bgsys/drivers/ppcfloor/runtime/SPI -lSPI.cna #ENDIF#
448 #IBM64PAPI#LEXTRA = $(PAPIDIR)/$(PAPISUBDIR)/libpapi64.a -L/usr/lpp/pmtoolkit/lib  -L/usr/pmapi/lib -lpmapi #ENDIF#
449 #IBM64PAPILINUX#LEXTRA = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a #ENDIF#
450 #SGI64PAPI#LEXTRA  = -L$(PAPIDIR)/$(PAPISUBDIR) -lpapi64 #ENDIF#
451 #ALPHAPAPI#LEXTRA                      = $(PAPIDIR)/$(PAPISUBDIR)/libpapi.a /usr/lib/dcpi/dadd.a -lclu -lrt #ENDIF#
452
453 TAU_PAPI_EXTRA_FLAGS           = $(LEXTRA)
454 #IA64PAPI#TAU_PAPI_EXTRA_FLAGS         = -L$(PAPIDIR)/$(PAPISUBDIR) -lpapi #ENDIF#
455
456
457 # By default make TAU_PAPI_RPATH null. Support it on a compiler by compiler basis.
458 #PAPI###TAU_PAPI_RPATH  = -rpath $(PAPIDIR)/$(PAPISUBDIR) #ENDIF#
459 #PAPI##TAU_PAPI_RPATH   =  #ENDIF#
460 #PPC64PAPI#TAU_PAPI_RPATH = #ENDIF#
461 #BGLPAPI#TAU_PAPI_RPATH = #ENDIF#
462 #BGPPAPI#TAU_PAPI_RPATH = #ENDIF#
463 #USE_INTELCXX#TAU_PAPI_RPATH    =  #ENDIF#
464 #CRAYX1CC#TAU_PAPI_RPATH = #ENDIF#
465 #PGI#TAU_PAPI_RPATH     = -R$(PAPIDIR)/$(PAPISUBDIR) #ENDIF#
466 #GNU#TAU_PAPI_RPATH     = -Wl,-rpath $(PAPIDIR)/$(PAPISUBDIR) #ENDIF#
467 #USE_PATHCC#TAU_PAPI_RPATH      = #ENDIF#
468
469 # if the user has specified -cc=gcc -c++=g++ -fortran=intel, we shouldn't use -rpath
470 # because they are likely going to link with ifort
471 #INTEL32_FORTRAN#TAU_PAPI_RPATH =  #ENDIF#
472 #SOL2PAPI#TAU_PAPI_RPATH        = #ENDIF#
473 #IBMPAPI#TAU_PAPI_RPATH = #ENDIF#
474 #IBM64PAPI#TAU_PAPI_RPATH       = #ENDIF#
475 #PAPI#TAU_LINKER_OPT1 = $(TAU_PAPI_RPATH) #ENDIF#
476
477 #PTHREAD_AVAILABLE#LEXTRA1     = -lpthread             #ENDIF#
478 #TULIPTHREADS#LEXTRA1     = -L$(TULIPDIR)/Tuliplib  -ltulip            #ENDIF#
479 #SMARTS##include $(TAU_INC_DIR)/makefiles/GNUmakefile-$(HOSTTYPE)  #ENDIF#
480 #SMARTS#LEXTRA1     = $(LSMARTS)        #ENDIF#
481
482 TAU_GCCLIB      = -lgcc_s 
483 TAU_GCCLIB      = #ENDIF##BGP#
484 #INTEL32_ON_64#TAU_GCCLIB       = -lgcc #ENDIF#
485 #FREEBSD#TAU_GCCLIB     = -lgcc #ENDIF#
486 #BGL#TAU_GCCLIB = -lgcc #ENDIF#
487 #GNU#TAU_FORTRANLIBS       = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) #ENDIF#
488 #OPEN64ORC_FORTRAN#TAU_FORTRANLIBS       = -lfortran -lffio #ENDIF#
489 #PATHSCALE_FORTRAN#TAU_FORTRANLIBS       = -lpathfstart -lpathfortran #ENDIF#
490 #SC_PATHSCALE#TAU_FORTRANLIBS       = -lpathfstart -lpathfortran #ENDIF#
491 #NAGWARE_FORTRAN#TAU_FORTRANLIBS                = $(EXTRADIR)/lib/quickfit.o -L$(EXTRADIR)/lib -lf96 #ENDIF#
492 #G95_FORTRAN#TAU_FORTRANLIBS           = -L$(EXTRADIR) -lf95 #ENDIF#
493 #GNU_FORTRAN#TAU_FORTRANLIBS           = -lg2c       #ENDIF#
494 #GNU_GFORTRAN#TAU_FORTRANLIBS          = -L$(TAUGFORTRANLIBDIR) -lgfortran -lgfortranbegin       #ENDIF#
495 #SC_GFORTRAN#TAU_FORTRANLIBS           = -lgfortran -lgfortranbegin       #ENDIF#
496 #SGI_FORTRAN#TAU_FORTRANLIBS           = -lfortran -lftn       #ENDIF#
497 TAU_IBM_FORTRANLIBS            =  -bh:4 -bpT:0x10000000 -bpD:0x20000000 /lib/crt0.o -lxlf90 -lm -lc #ENDIF##USE_IBMXLC#
498 #GNU#TAU_IBM_FORTRANLIBS               =  -Wl,-bh:4 -Wl,-bpT:0x10000000 -Wl,-bpD:0x20000000 /lib/crt0.o -lxlf90 -lm -lc #ENDIF#
499 #KAI#TAU_IBM_FORTRANLIBS               =  --backend -bh:4 --backend -bpT:0x10000000 --backend -bpD:0x20000000 /lib/crt0.o -lxlf90 -lm -lc #ENDIF#
500 TAU_FORTRANLIBS = $(TAU_IBM_FORTRANLIBS) #ENDIF##IBM_FORTRAN#
501
502 TAU_IBM64_FORTRANLIBS      =  -bh:4 -bpT:0x10000000 -bpD:0x20000000 -b64 /lib/crt0_64.o -lxlf90 -lm -lc #ENDIF##USE_IBMXLC#
503 #GNU#TAU_IBM64_FORTRANLIBS      =  -Wl,-bh:4 -Wl,-bpT:0x10000000 -Wl,-bpD:0x20000000 -Wl,-b64 /lib/crt0_64.o -lxlf90 -lm -lc #ENDIF#
504 #KAI#TAU_IBM64_FORTRANLIBS      =  --backend -bh:4 --backend -bpT:0x10000000 --backend -bpD:0x20000000 --backend -b64 /lib/crt0_64.o -lxlf90 -lm -lc #ENDIF#
505 #IBM64_FORTRAN#TAU_FORTRANLIBS = $(TAU_IBM64_FORTRANLIBS) #ENDIF#
506 #IBM64_FORTRAN#TAU_FORLIBDIR=lib64 #ENDIF#
507 TAU_FORLIBDIR=lib #ENDIF##IBM_FORTRAN#
508 #BGL#TAU_FORLIBDIR=blrts_dev_lib #ENDIF#
509 TAU_FORLIBDIR=bglib #ENDIF##BGP#
510 #PPC64#TAU_FORTRANLIBS = -L$(EXTRADIR)/$(TAU_FORLIBDIR) -lxlf90 -lxlfmath -lxl #ENDIF#
511 #BGL#TAU_FORTRANLIBS = -L$(EXTRADIR)/$(TAU_FORLIBDIR) -L$(EXTRADIR)/blrts_lib -lxlf90 -lxlfmath -lxl #ENDIF#
512
513 TAU_BGL_OMP_SERIAL= -lxlomp_ser #ENDIF##BGP#
514 #OPENMP#TAU_BGL_OMP_SERIAL= #ENDIF#
515 TAU_OMP_SERIAL=$(TAU_BGL_OMP_SERIAL) #ENDIF##BGP#
516 TAU_FORTRANLIBS = -L$(EXTRADIR)/$(TAU_FORLIBDIR) -lxlf90 -lxlfmath $(TAU_OMP_SERIAL) #ENDIF##BGP#
517
518 #IBMXLFAPPLE#TAU_FORTRANLIBS           = -L$(EXTRADIR)/lib -lxlf90 -lxlfmath -lxl      #ENDIF#
519
520 #CRAY_FORTRAN#TAU_FORTRANLIBS          =        #ENDIF#
521 #CRAY_X1_FORTRAN#TAU_FORTRANLIBS               =        #ENDIF#
522 #PGI_FORTRAN#TAU_FORTRANLIBS           = $(EXTRADIR)/lib/f90main.o -lpgf90 -lpgf90rtl -lpgf90_rpm1 -lpgf902 -lpgftnrtl -lrt #ENDIF#
523 #HP_FORTRAN#TAU_FORTRANLIBS            = -L$(EXTRADIR)/lib/pa2.0 -lF90 -lcl        #ENDIF#
524 #INTEL_FORTRAN#TAU_FORTRANLIBS         = -lcprts -lPEPCF90   #ENDIF#
525 #INTEL32_FORTRAN#TAU_FORTRANLIBS       = -lcprts -lCEPCF90 -lF90 #ENDIF#
526 #INTELIFORT#TAU_FORTRANLIBS       = -lcprts #ENDIF#
527 #INTEL81FIX#TAU_FORTRANLIBS       = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) -lcxa -lunwind -L$(EXTRADIR)/lib -lifcore $(EXTRADIR)/lib/for_main.o #ENDIF#
528 #INTEL10FIX#TAU_FORTRANLIBS       = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) -L$(EXTRADIR)/lib -lifcore $(EXTRADIR)/lib/for_main.o #ENDIF#
529 #INTELCXXLIBICC#TAU_FORTRANLIBS       = -lcprts -L$(EXTRADIR)/lib -lifcore $(EXTRADIR)/lib/for_main.o #ENDIF#
530 #PGI1.7#LEXTRA = -lstd -lstrm#ENDIF#
531 #PGI1.7#TAUHELPER = $(TAUROOT)/src/Profile/TauPGIHelper.cpp #ENDIF#
532 # LINKER OPTIONS
533 TAU_LINKER_OPT2 = $(LEXTRA)
534
535
536 #ACC#TAUHELPER = -AA #ENDIF#
537 #FUJITSU_FORTRAN#TAU_FORTRANLIBS               = $(EXTRADIR)/lib/fj90rt0.o -L$(EXTRADIR)/lib -lfj9i6 -lfj9f6 -lfj9e6        #ENDIF#
538 #FUJITSU_SOLARIS#TAU_FORTRANLIBS               = $(EXTRADIR)/lib/fj90rt0.o -L$(EXTRADIR)/lib -lfj90l -lfj90f #ENDIF#
539 #SUN_FORTRAN#TAU_FORTRANLIBS           = -lfui -lfsumai -lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu -lsunmath        #ENDIF#
540 #SUN_FORTRAN#TAU_FORTRANLIBS_SUN_OPTERON   = -lfsu -lsunmath #ENDIF#
541 #SUN_FORTRAN#TAU_FORTRANLIBS_SUNCC   = -lfsu #ENDIF#
542 #SUN386I#TAU_FORTRANLIBS               = $(TAU_FORTRANLIBS_SUN_OPTERON) #ENDIF#
543 #SUNX86_64#TAU_FORTRANLIBS             = $(TAU_FORTRANLIBS_SUN_OPTERON) #ENDIF#
544 #SUNCC#TAU_FORTRANLIBS         = $(TAU_FORTRANLIBS_SUNCC) #ENDIF#
545 #SOL2#EXTRALIBS = -lsocket -lnsl      #ENDIF#
546 #SUN386I#EXTRALIBS = -lsocket -lnsl -lrt     #ENDIF#
547 #SUNX86_64#EXTRALIBS = -lsocket -lnsl -lrt     #ENDIF#
548 #COMPAQ_FORTRAN#TAU_FORTRANLIBS =  $(EXTRADIR)/lib/cmplrs/fort90/for_main.o -L$(EXTRADIR)/lib -L$(EXTRADIR)/lib/cmplrs/fort90 -L$(EXTRADIR)/lib/cmplrs/fort90 -lUfor -lfor -lFutil -lm -lmld -lexc -lc #ENDIF#
549 #ABSOFT_FORTRAN#TAU_FORTRANLIBS =  -L$(EXTRADIR)/lib -lfio -lf90math -lU77 -lf77math -lfio #ENDIF#
550 #LAHEY_FORTRAN#TAU_FORTRANLIBS         = $(EXTRADIR)/lib/fj90rt0.o -L$(EXTRADIR)/lib -lfj9i6 -lfj9f6 -lfj9e6 -lfccx86_6a #ENDIF#
551 #LAHEY64_FORTRAN#TAU_FORTRANLIBS             = $(EXTRADIR)/lib64/fj90rt0.o -L$(EXTRADIR)/lib64  -lfj90f -lfj90i -lelf #ENDIF#
552 #HITACHI_FORTRAN#TAU_FORTRANLIBS =  -lf90 -lhf90math #ENDIF#
553 #NEC_FORTRAN#TAU_FORTRANLIBS =  -f90lib #ENDIF#
554 #COMPAQ_GUIDEF90#TAU_FORTRANLIBS = $(EXTRADIR)/lib/cmplrs/fort90/for_main.o -lfor #ENDIF#
555
556
557 #HITACHI#TAU_HITACHI_EXTRA      =  -L/usr/local/lib -llrz32 #ENDIF#
558
559 ## To use the standard F90 linker instead of TAU_LINKER + TAU_FORTRANLIBS, add
560 #GNU#TAU_CXXLIBS                = -L$(TAUGCCLIBDIR)  $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) #ENDIF#
561 #GNU#TAU_GNUCXXLIBS             = -L$(TAUGCCLIBDIR) -lstdc++ $(TAU_GCCLIB) #ENDIF#
562 #OPEN64ORC#TAU_CXXLIBS          = -lstdc++ #ENDIF#
563 #PATHSCALE_FORTRAN#TAU_CXXLIBS          = -lstdc++ #ENDIF#
564 #LAHEY_FORTRAN#TAU_CXXLIBS              = $(TAU_GNUCXXLIBS) /usr/lib/libc.a #ENDIF#
565 #NAGWARE_FORTRAN#TAU_CXXLIBS            = $(TAU_GNUCXXLIBS) /usr/lib/libc.a #ENDIF#
566 #PGI#TAU_CXXLIBS                = -lstd -lC       #ENDIF#
567 #CRAYCNL#TAU_CXXLIBS            = -L$(EXTRADIR)/lib -lstd -lC -lpgc     #ENDIF#
568 #CRAYX1CC#TAU_CXXLIBS           = -L/opt/ctl/CC/CC/lib -lC       #ENDIF#
569
570 TAU_SGI_INIT = /usr/lib32/c++init.o 
571 #ENABLE64BIT#TAU_SGI_INIT  = /usr/lib64/c++init.o #ENDIF#
572 #ENABLEN32BIT#TAU_SGI_INIT = /usr/lib32/c++init.o #ENDIF#
573 #ENABLE32BIT#TAU_SGI_INIT  = /usr/lib/c++init.o   #ENDIF#
574
575 #SGICC#TAU_CXXLIBS              = $(TAU_SGI_INIT) -lC #ENDIF#
576 #APPLECXX#TAU_CXXLIBS           = -lstd -lC #ENDIF#
577 #SOL2#TAU_CXXLIBS               = -lCstd -lCrun #ENDIF#
578 #SOL2CC#TAU_CXXLIBS_SUN_OPTERON   = -lCstd -lCrun -lm #ENDIF#
579 #SUNCC#TAU_CXXLIBS_SUNCC   = -lCstd -lCrun #ENDIF#
580 #SUN386I#TAU_CXXLIBS   = $(TAU_CXXLIBS_SUN_OPTERON) #ENDIF#
581 #SUNCC#TAU_CXXLIBS   = $(TAU_CXXLIBS_SUNCC) #ENDIF#
582 #SUNX86_64#TAU_CXXLIBS   = $(TAU_CXXLIBS_SUN_OPTERON) #ENDIF#
583 #FUJITSU_SOLARIS#TAU_CXXLIBS               = -lstd -lstdm #ENDIF#
584 #PPC64#TAU_XLCLIBS         = -L$(EXTRADIRCXX)/$(TAU_FORLIBDIR) -libmc++ -lstdc++       #ENDIF#
585 #IBMXLCAPPLE#TAU_FORLIBDIR =lib       #ENDIF#
586 #IBMXLCAPPLE#TAU_XLCLIBS         = -L$(EXTRADIRCXX)/$(TAU_FORLIBDIR) -libmc++ -lstdc++       #ENDIF#
587 #BGL#TAU_XLCLIBS         = -L$(EXTRADIRCXX)/blrts_dev_lib -L$(EXTRADIRCXX)/blrts_lib -libmc++ -L/bgl/BlueLight/ppcfloor/blrts-gnu/powerpc-bgl-blrts-gnu/lib -lstdc++      #ENDIF#
588 TAU_XLCLIBS         = -L$(EXTRADIRCXX)/bglib -libmc++ -lstdc++      #ENDIF##BGP#
589 #SP1#TAU_XLCLIBS         = -lC            #ENDIF#
590 TAU_CXXLIBS         = $(TAU_XLCLIBS) #ENDIF##USE_IBMXLC#
591 #USE_DECCXX#TAU_CXXLIBS         = -lcxxstd -lcxx #ENDIF#
592 #USE_INTELCXX#TAU_CXXLIBS_INTEL        = -lcprts -lPEPCF90 #ENDIF#
593 #USE_INTELCXX#TAU_CXXLIBS_INTEL        = -lcprts #ENDIF#
594 #INTELIFORT#TAU_CXXLIBS_INTEL        = -lcprts #ENDIF#
595 #INTEL81FIX#TAU_CXXLIBS_INTEL        = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) -lcxa -lunwind#ENDIF#
596 #INTEL10FIX#TAU_CXXLIBS_INTEL        = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) #ENDIF#
597 #INTELCXXLIBICC#TAU_CXXLIBS_INTEL        = -lcprts #ENDIF#
598 #USE_INTELCXX#TAU_CXXLIBS        = $(TAU_CXXLIBS_INTEL) #ENDIF#
599 #APPLECXX#TAU_CXXLIBS           = -lstdc++ -L$(TAUGCCLIBDIR)  $(TAUGCCLIBOPTS) -lgcc_s.1 -lSystemStubs #ENDIF#
600
601 # EXTERNAL PACKAGES: VAMPIRTRACE
602 #VAMPIRTRACE#TAU_LINKER_OPT3    =  -L$(VAMPIRTRACEDIR)/lib -L$(VAMPIRTRACEDIR)/vtlib -lvt -lotf -lz $(TAU_HITACHI_EXTRA) #ENDIF#
603 #VAMPIRTRACEMPI#TAU_LINKER_OPT3         =  -L$(VAMPIRTRACEDIR)/lib -L$(VAMPIRTRACEDIR)/vtlib -lvt.mpi -lotf -lz  $(TAU_HITACHI_EXTRA) #ENDIF#
604 #VAMPIRTRACEOMPI#TAU_LINKER_OPT3        =  -L$(VAMPIRTRACEDIR)/lib -L$(VAMPIRTRACEDIR)/vtlib -lvt.ompi -lotf -lz $(TAU_HITACHI_EXTRA) #ENDIF#
605 #VAMPIRTRACEOMP#TAU_LINKER_OPT3         =  -L$(VAMPIRTRACEDIR)/lib -L$(VAMPIRTRACEDIR)/vtlib -lvt.omp  -lotf -lz $(TAU_HITACHI_EXTRA) #ENDIF#
606
607 # EXTERNAL PACKAGES: EPILOG
608 #SCALASCA#TAU_ELG_SERIAL_SUFFIX =.ser #ENDIF#
609 #EPILOG#TAU_LINKER_OPT3         =  -L$(EPILOGLIBDIR) -lelg$(TAU_ELG_SERIAL_SUFFIX) $(EPILOGEXTRALINKCMD) $(TAU_HITACHI_EXTRA) #ENDIF#
610 #EPILOGMPI#TAU_LINKER_OPT3      =  -L$(EPILOGLIBDIR) -lelg.mpi $(EPILOGEXTRALINKCMD) $(TAU_HITACHI_EXTRA) #ENDIF#
611 #EPILOGOMPI#TAU_LINKER_OPT3     =  -L$(EPILOGLIBDIR) -lelg.ompi $(EPILOGEXTRALINKCMD) $(TAU_HITACHI_EXTRA) #ENDIF#
612 #EPILOGOMP#TAU_LINKER_OPT3      =  -L$(EPILOGLIBDIR) -lelg.omp $(EPILOGEXTRALINKCMD) $(TAU_HITACHI_EXTRA) #ENDIF#
613
614 # When using shared, we don't want -lelg.mpi or -lvt.mpi showing up
615 #FORCESHARED#TAU_LINKER_OPT3=#ENDIF#
616
617 TAU_LINKER_OPT4 = $(LEXTRA1)
618 #HITACHI_OPENMP#TAU_LINKER_OPT4 = -lcompas -lpthreads -lc_r #ENDIF#
619 #OPENMP#TAU_LINKER_OPT5 = -mp #ENDIF#
620 #SOL2CC_OPENMP#TAU_LINKER_OPT5 = -xopenmp #ENDIF#
621 #SUNCC_OPENMP#TAU_LINKER_OPT5 = -xopenmp=parallel #ENDIF#
622 #GNU#TAU_LINKER_OPT5 = #ENDIF#
623 #COMPAQCXX_OPENMP#TAU_LINKER_OPT5 = -omp #ENDIF#
624 #IBMXLC_OPENMP#TAU_LINKER_OPT5 = -qsmp=omp #ENDIF#
625 #OPEN64_OPENMP#TAU_LINKER_OPT5 = -mp #ENDIF#
626 #GUIDE#TAU_LINKER_OPT5 = #ENDIF#
627 #PGIOPENMP#TAU_LINKER_OPT5 = -mp #ENDIF#
628 #INTELOPENMP#TAU_LINKER_OPT5 = -openmp #ENDIF#
629
630 # MALLINFO needs -lmalloc on sgi, sun 
631 #SGIMP#TAU_LINKER_OPT6 = -lmalloc #ENDIF#
632 #SOL2#TAU_LINKER_OPT6 = #ENDIF#
633 #SUN386I#TAU_LINKER_OPT6 = -lmalloc #ENDIF#
634 #SUNX86_64#TAU_LINKER_OPT6 = -lmalloc #ENDIF#
635
636 # We need -lCio with SGI CC 7.4+
637 #SGICC#TAU_LINKER_OPT7 = -lCio #ENDIF#
638
639 # charm
640 #TAU_CHARM#TAU_LINKER_OPT8 = -lconv-core #ENDIF#
641
642 # extra libs
643 #SUN386I#TAU_LINKER_OPT9 = $(EXTRALIBS) #ENDIF#
644 #SUNX86_64#TAU_LINKER_OPT9 = $(EXTRALIBS) #ENDIF#
645 #SOL2#TAU_LINKER_OPT9 = $(ExTRALIBS)    #ENDIF#
646
647 #BGL#TAU_LINKER_OPT10 = -L/bgl/BlueLight/ppcfloor/bglsys/lib -lrts.rts #ENDIF#
648
649 TAU_IBM_PYTHON_SHFLAG = -Wl,-bI:$(PYTHON_LIBDIR)/config/python.exp -Wl,-einitpytau#ENDIF##USE_IBMXLC#
650 #GNU#TAU_IBM_PYTHON_SHFLAG = -Wl,-bI:$(PYTHON_LIBDIR)/config/python.exp -Wl,-einitpytau#ENDIF#
651 #KAI#TAU_IBM_PYTHON_SHFLAG = --backend -Wl,-bI:$(PYTHON_LIBDIR)/config/python.exp --backend -Wl,-einitpytau#ENDIF#
652 #ACC#TAU_HPUX_PYTHON_SHFLAG = -lstd_v2 -lCsup_v2 -lm -lcl -lc #ENDIF#
653
654 TAU_IBM_LD_FLAGS = -binitfini:poe_remote_main #ENDIF##USE_IBMXLC#
655 #GNU#TAU_IBM_LD_FLAGS = -Wl,-binitfini:poe_remote_main #ENDIF#
656 #KAI#TAU_IBM_LD_FLAGS = --backend -binitfini:poe_remote_main #ENDIF#
657
658
659 #PYTHON#TAU_IBM_SHFLAGS = $(TAU_IBM_PYTHON_SHFLAG) #ENDIF#
660 #PYTHON#TAU_HPUX_SHFLAGS = $(TAU_HPUX_PYTHON_SHFLAG) #ENDIF#
661 #SP1#TAU_EXTRA_LIBRARY_FLAGS = $(TAU_IBM_SHFLAGS)  #ENDIF#
662 #SOL2#TAU_EXTRA_LIBRARY_FLAGS = #ENDIF#
663 #SGIMP#TAU_EXTRA_LIBRARY_FLAGS = -lmalloc  #ENDIF#
664 #HP#TAU_EXTRA_LIBRARY_FLAGS  = $(TAU_HPUX_SHFLAGS) #ENDIF#
665
666 TAU_MPI_WRAPPER_LIB= -L$(TAU_LIB_DIR) -lTauMpi$(TAU_CONFIG) #ENDIF##MPI#
667 #EPILOGMPI#TAU_MPI_WRAPPER_LIB= #ENDIF#
668 #EPILOGOMPI#TAU_MPI_WRAPPER_LIB= #ENDIF#
669
670 ##############################################
671 # Build TAU_LINKER_SHOPTS
672 #GNU#TAU_IBM_LINKER_SHOPTS=-Wl,-brtl -Wl,-bexpall #ENDIF#
673 TAU_IBM_LINKER_SHOPTS= -brtl -bexpall #ENDIF##USE_IBMXLC#
674 #KAI#TAU_IBM_LINKER_SHOPTS= --backend -brtl #ENDIF#
675 #SP1#TAU_LINKER_SHOPTS= $(TAU_IBM_LINKER_SHOPTS) #ENDIF#
676
677 ##############################################
678 # MPI _r suffix check (as in libmpi_r)
679 #MPI_R_SUFFIX#TAU_MPI_R_SUFFIX=_r    #ENDIF#
680
681 ##############################################
682 # Flags to build a shared object: TAU_SHFLAGS
683 #GNU#AR_SHFLAGS                 = -shared       #ENDIF#
684 #PGI#AR_SHFLAGS                 = -shared       #ENDIF#
685 #SGICC#AR_SHFLAGS               = -shared       #ENDIF#
686 #APPLECXX#AR_SHFLAGS = -dynamiclib -flat_namespace -undefined suppress #ENDIF#
687 #SOL2#AR_SHFLAGS                = -G            #ENDIF#
688 #SUN386I#AR_SHFLAGS                = -G            #ENDIF#
689 #SUNX86_64#AR_SHFLAGS                = -G            #ENDIF#
690 AR_SHFLAGS          = -G                #ENDIF##USE_IBMXLC#
691 #USE_DECCXX#AR_SHFLAGS          = -shared               #ENDIF#
692 #USE_INTELCXX#AR_SHFLAGS        = -shared               #ENDIF#
693 #ACC#AR_SHFLAGS                 = -b            #ENDIF#
694 TAU_SHFLAGS = $(AR_SHFLAGS) -o
695
696 ############# RANLIB Options #############
697 TAU_RANLIB = echo "Built" 
698 #APPLECXX#TAU_RANLIB      = ranlib  #ENDIF#
699 #IBMXLCAPPLE#TAU_RANLIB      = ranlib  #ENDIF#
700
701 ##############################################
702 TAU_AR                 = ar             #ENDIF#
703 #SP1#TAU_AR            = ar -X32        #ENDIF#
704 #IBM64#TAU_AR          = ar -X64        #ENDIF#
705 #PPC64#TAU_AR          = ar             #ENDIF#
706 #IBM64LINUX#TAU_AR     = ar             #ENDIF#
707
708
709 ##############################################
710 # PDT OPTIONS
711 # You can specify -pdtcompdir=intel -pdtarchdir=x86_64
712 # If nothing is specified, PDTARCHDIR uses TAU_ARCH
713 PDTARCHDIRORIG=$(TAU_ARCH)
714 PDTARCHITECTURE=x86_64
715 PDTARCHDIRFINAL=$(PDTARCHDIRORIG)
716 #PDTARCHITECTURE#PDTARCHDIRFINAL=$(PDTARCHITECTURE)#ENDIF#
717 PDTARCHDIR=$(PDTARCHDIRFINAL)
718 #PDTARCH#PDTARCHDIR=$(PDTARCHDIRFINAL)/$(PDTCOMPDIR)#ENDIF#
719
720
721 ##############################################
722
723 PROFILEOPTS = $(PROFILEOPT1)  $(PROFILEOPT2)  $(PROFILEOPT3)  $(PROFILEOPT4)  \
724               $(PROFILEOPT5)  $(PROFILEOPT6)  $(PROFILEOPT7)  $(PROFILEOPT8)  \
725               $(PROFILEOPT9)  $(PROFILEOPT10) $(PROFILEOPT11) $(PROFILEOPT12) \
726               $(PROFILEOPT13) $(PROFILEOPT14) $(PROFILEOPT15) $(PROFILEOPT16) \
727               $(PROFILEOPT17) $(PROFILEOPT18) $(PROFILEOPT19) $(PROFILEOPT20) \
728               $(PROFILEOPT21) $(PROFILEOPT22) $(PROFILEOPT23) $(PROFILEOPT24) \
729               $(PROFILEOPT25) $(PROFILEOPT26) $(PROFILEOPT27) $(PROFILEOPT28) \
730               $(PROFILEOPT29) $(PROFILEOPT30) $(PROFILEOPT31) $(PROFILEOPT32) \
731               $(PROFILEOPT33) $(PROFILEOPT34) $(PROFILEOPT35) $(PROFILEOPT36) \
732               $(PROFILEOPT37) $(PROFILEOPT38) $(PROFILEOPT39) $(PROFILEOPT40) \
733               $(PROFILEOPT41) $(PROFILEOPT42) $(PROFILEOPT43) $(PROFILEOPT44) \
734               $(PROFILEOPT45) $(PROFILEOPT46) $(PROFILEOPT47) $(PROFILEOPT48) \
735               $(PROFILEOPT49) $(PROFILEOPT50) $(PROFILEOPT51) $(PROFILEOPT52) \
736               $(PROFILEOPT53) $(PROFILEOPT54) $(PROFILEOPT55) $(PROFILEOPT56) \
737               $(PROFILEOPT57) $(PROFILEOPT58) $(PROFILEOPT59) $(PROFILEOPT60) \
738               $(PROFILEOPT61) $(PROFILEOPT62) $(PROFILEOPT63) $(PROFILEOPT64) \
739               $(PROFILEOPT65) $(PROFILEOPT66) $(PROFILEOPT67) $(PROFILEOPT68) \
740               $(PROFILEOPT69) $(PROFILEOPT70) $(PROFILEOPT71) $(PROFILEOPT72) \
741               $(PROFILEOPT73) $(PROFILEOPT74) $(PROFILEOPT75) $(PROFILEOPT76) \
742               $(TRACEOPT)
743
744 ##############################################
745
746 TAU_LINKER_OPTS = $(TAU_LINKER_OPT1) $(TAU_LINKER_OPT2) $(TAU_LINKER_OPT3) \
747                   $(TAU_LINKER_OPT4) $(TAU_LINKER_OPT5) $(TAU_LINKER_OPT6) \
748                   $(TAU_LINKER_OPT7) $(TAU_LINKER_OPT8) $(TAU_LINKER_OPT9) \
749                   $(TAU_LINKER_OPT10) $(TAU_LINKER_OPT11) $(TAU_LINKER_OPT12)
750
751 ##############################################
752
753 ############# TAU Fortran ####################
754 TAU_LINKER=$(TAU_CXX)
755 #INTEL_FORTRAN##TAU_LINKER=$(TAU_F90) #ENDIF#
756 #INTEL32_FORTRAN##TAU_LINKER=$(TAU_F90) #ENDIF#
757 # Intel efc compiler acts as a linker - NO. Let C++ be the linker. 
758
759 ##############################################
760 ############# TAU Options ####################
761 TAUDEFS         = $(PROFILEOPTS) 
762
763 TAUINC          = -I$(TAU_INC_DIR)
764
765 TAULIBS         = $(TAUHELPER) -L$(TAU_LIB_DIR) -ltau$(TAU_CONFIG)  $(TAU_LINKER_OPTS)
766
767 TAUMPILIBS      = $(TAU_MPI_LIB)
768
769 TAUMPIFLIBS     = $(TAU_MPI_FLIB)
770
771 ### ACL S/W requirement
772 TAU_DEFS        = $(TAUDEFS)
773
774 TAU_INCLUDE     = -I$(TAU_INC_DIR)
775 #PERFLIB#TAU_INCLUDE = -I$(PERFINCDIR) #ENDIF#
776 #PERFLIB#TAU_DEFS = #ENDIF#
777 #PERFLIB#TAU_COMPILER_EXTRA_OPTIONS=-optTau=-p #ENDIF#
778
779 TAU_INCLUDE_MEMORY = -I$(TAU_INC_DIR)/Memory
780 #IBMXLCAPPLE#TAU_INCLUDE_MEMORY = -I$(TAU_INC_DIR)/MemoryWrapper #ENDIF#
781 #APPLECXX#TAU_INCLUDE_MEMORY = -I$(TAU_INC_DIR)/MemoryWrapper #ENDIF#
782
783 TAU_LIBS        = $(TAUHELPER) -L$(TAU_LIB_DIR) -ltau$(TAU_CONFIG)   $(TAU_LINKER_OPTS) 
784 #PERFLIB#TAU_LIBS = #ENDIF#
785
786 TAU_SHLIBS      = $(TAUHELPER) -L$(TAU_LIB_DIR) -lTAUsh$(TAU_CONFIG) $(TAU_LINKER_OPTS) $(TAU_LINKER_SHOPTS) $(TAU_MPI_LIB)
787 #PERFLIB#TAU_SHLIBS = #ENDIF#
788 TAU_EXLIBS      = $(TAUHELPER) -L$(TAU_LIB_DIR) -lTAU $(TAU_LINKER_OPTS) $(TAU_LINKER_SHOPTS) $(TAU_MPI_LIB)
789
790 TAU_SHLIBS_NOSHOPTS = $(TAUHELPER) -L$(TAU_LIB_DIR) -lTAUsh$(TAU_CONFIG) $(TAU_LINKER_OPTS)
791
792 TAU_DISABLE     = $(TAUHELPER) -L$(TAU_LIB_DIR) -lTauDisable
793
794 TAU_MPI_INCLUDE = $(TAU_MPI_INC)
795
796 TAU_MPI_LIBS    = $(TAU_MPI_LIB)
797
798 TAU_MPI_FLIBS   = $(TAU_MPI_FLIB)
799
800 ## TAU TRACE INPUT LIBRARY (can build a trace converter using TAU TIL)
801 TAU_TRACE_INPUT_LIB = -L$(TAU_LIB_DIR) -lTAU_traceinput$(TAU_CONFIG)
802
803 ## Don't include -lpthread or -lsmarts. Let app. do that. 
804 #############################################
805 ## IBM SPECIFIC CHANGES TO TAU_MPI_LIBS
806 #SP1#TAU_MPI_LDFLAGS  = $(TAU_IBM_LD_FLAGS) #ENDIF#
807 TAU_LDFLAGS  = $(TAU_MPI_LDFLAGS) #ENDIF##MPI#
808 #SP1#TAU_IBM_MPI_LIBS    = $(TAU_MPI_LIB)  -L$(TAU_MPILIB_DIR)/ip  -lvtd$(TAU_MPI_R_SUFFIX) #ENDIF#
809 #SP1#TAU_IBM_FMPI_LIBS    = $(TAU_MPI_FLIB)  -L$(TAU_MPILIB_DIR)/ip  -lvtd$(TAU_MPI_R_SUFFIX) #ENDIF#
810 #SP1#TAU_MPI_LIBS_FLAGS= $(TAU_IBM_MPI_LIBS) #ENDIF#
811 #SP1#TAU_MPI_FLIBS_FLAGS   = $(TAU_IBM_MPI_FLIBS) #ENDIF#
812 TAU_MPI_LIBS_FLAGS = $(TAU_MPI_LIB) #ENDIF##MPI#
813 TAU_MPI_FLIBS_FLAGS  = $(TAU_MPI_FLIB) #ENDIF##MPI#
814 TAU_MPI_LIBS = $(TAU_MPI_LIBS_FLAGS) #ENDIF##MPI#
815 TAU_MPI_FLIBS  = $(TAU_MPI_FLIBS_FLAGS) #ENDIF##MPI#
816
817 #SP1#TAUMPILIBS      = $(TAU_MPI_LIBS)  #ENDIF#
818 #SP1#TAUMPIFLIBS     = $(TAU_MPI_FLIBS) #ENDIF#
819 #############################################
820 #SHMEM#TAU_SHMEM_OBJS                = TauShmemCray.o     #ENDIF#
821 #SP1#TAU_SHMEM_OBJS                  = TauShmemTurbo.o    #ENDIF#
822 #GPSHMEM#TAU_SHMEM_OBJS              = TauShmemGpshmem.o  #ENDIF#
823
824 TAU_SHMEM_INCLUDE       = $(TAU_SHMEM_INC)
825
826 TAU_SHMEM_LIBS  = -L$(TAU_PREFIX_INSTALL_DIR)/$(CONFIG_ARCH)/ -lTauShmem$(TAU_CONFIG) $(TAU_SHMEM_LIB)
827 #############################################
828 # TAU COMPILER SHELL SCRIPT OPTIONS
829 TAUCOMPILEROPTS=  -optPdtDir="$(PDTDIR)/${PDTARCHDIR}"\
830         -optPdtCOpts="$(TAU_INCLUDE) $(TAU_DEFS) $(TAU_MPI_INCLUDE)"\
831         -optPdtCxxOpts="$(TAU_INCLUDE) $(TAU_DEFS) $(TAU_MPI_INCLUDE)"\
832         -optTauInstr="$(TAU_BIN_DIR)/tau_instrumentor" \
833         -optNoMpi \
834         -optOpariDir="$(OPARIDIR)" -optOpariTool="$(TAU_OPARI_TOOL)" \
835         -optTauCC="$(TAU_CC)" \
836         -optTauIncludes="$(TAU_INCLUDE) $(TAU_MPI_INCLUDE)" \
837         -optTauDefs="$(TAU_DEFS)" \
838         -optTauCompile="$(TAU_INCLUDE) $(TAU_MPI_INCLUDE) $(TAU_DEFS) "\
839         -optLinking="$(TAU_MPI_FLIBS) $(TAU_LIBS) $(TAU_LDFLAGS) $(TAU_CXXLIBS)"\
840         -optSharedLinking="$(TAU_MPI_FLIBS) $(TAU_EXLIBS) $(TAU_LDFLAGS) $(TAU_CXXLIBS)"\
841         $(TAU_COMPILER_EXTRA_OPTIONS) \
842         -optIncludeMemory="$(TAU_INCLUDE_MEMORY)"
843 #############################################
844
845 TAU_SHAREDLIBS=$(TAUHELPER) -L$(TAU_LIB_DIR) -lTAU $(TAU_LINKER_OPTS) $(TAU_LINKER_SHOPTS)
846 SHAREDEXTRAS=
847 #FORCESHARED#SHAREDEXTRAS=-optSharedLinkReset="$(TAU_SHAREDLIBS) $(TAU_LDFLAGS) $(TAU_CXXLIBS) $(TAU_MPI_NOWRAP_FLIB)" -optShared #ENDIF#
848 TAU_COMPILER=$(TAU_BIN_DIR)/tau_compiler.sh $(TAUCOMPILEROPTS) $(SHAREDEXTRAS)
849 #############################################
850 # These options could be included in the application Makefile as 
851 #CFLAGS         = $(TAUDEFS) $(TAUINC)
852 #
853 #LIBS           = $(TAULIBS)
854 #
855 # To run the application without Profiling/Tracing use
856 #CFLAGS         = $(TAUINC)   
857 # Don't use TAUDEFS but do include TAUINC
858 # Also ignore TAULIBS when Profiling/Tracing is not used.
859 #############################################
860