1# 2# $Id$ 3# 4#====================================================================== 5# 6# DISCLAIMER 7# 8# This material was prepared as an account of work sponsored by an 9# agency of the United States Government. Neither the United States 10# Government nor the United States Department of Energy, nor Battelle, 11# nor any of their employees, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR 12# ASSUMES ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, 13# COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, 14# SOFTWARE, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT 15# INFRINGE PRIVATELY OWNED RIGHTS. 16# 17# ACKNOWLEDGMENT 18# 19# This software and its documentation were produced with Government 20# support under Contract Number DE-AC06-76RLO-1830 awarded by the United 21# States Department of Energy. The Government retains a paid-up 22# non-exclusive, irrevocable worldwide license to reproduce, prepare 23# derivative works, perform publicly and display publicly by or for the 24# Government, including the right to distribute to other Government 25# contractors. 26# 27#====================================================================== 28# 29# -- PEIGS routine (version 2.1) -- 30# Pacific Northwest Laboratory 31# July 28, 1995 32# 33#====================================================================== 34# 35# set the path to the "peigs" directory 36 37peigs_SRC = $(TOPDIR)/src 38peigs_TARGET = $(NWCHEM_TARGET) 39peigs_CPU_TYPE = $(NWCHEM_TARGET_CPU) 40 41peigs_DIR = $(peigs_SRC)/peigs 42ifndef NWCHEM_TARGET_CPU 43peigs_LIB = $(TOPDIR)/lib/$(NWCHEM_TARGET)/libpeigs.a 44else 45peigs_LIB = $(TOPDIR)/lib/$(NWCHEM_TARGET)_$(NWCHEM_TARGET_CPU)/libpeigs.a 46endif 47 48SHELL = /bin/sh 49 50peigs_OBJDIR = $(peigs_DIR)/o 51peigs_HDIR = $(peigs_DIR)/h 52peigs_CSRC = $(peigs_DIR)/src/c 53peigs_F77SRC = $(peigs_DIR)/src/f77 54peigs_COMMDIR = $(peigs_DIR)/comm 55peigs_FTOC = $(peigs_DIR)/ctof 56peigs_EXAMPLE_LIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) $(CORE_LIBS) $(EXTRA_LIBS) $(LIBS) 57 58#================================================== 59# Machine specific definitions. 60#================================================== 61# 62# generic definitions from nwchem makefile.h 63# 64peigs_AR = $(AR) $(ARFLAGS) 65peigs_RANLIB = $(RANLIB) 66peigs_FC = $(NWFC) $(FOPTIONS) $(FOPTIMIZE) -I$(peigs_HDIR) 67# 68# this is needed because -DCRAY-T3E cannot be a macro definition it should be -DCRAY_T3E 69# 70peigs_TARGET_definition = $(peigs_TARGET) 71peigs_CC = $(NWCC) $(COPTIONS) -I$(peigs_HDIR) -D$(peigs_TARGET_definition) -D$(peigs_CPU) 72peigs_LINK = $(FC) $(FOPTIONS) -I$(peigs_HDIR) 73peigs_COMM = TCGMSG 74peigs_CPP = $(CPP) -I$(peigs_HDIR) -D$(peigs_CPU) -D$(peigs_COMM) -D$(peigs_TARGET_definition) -P 75 76#ifdef EXPLICITF 77peigs_FCONVERT = $(FCONVERT) -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} -D${peigs_TARGET_definition} 78#endif 79 80# The following are customizations for each machine 81 82ifeq ($(peigs_TARGET),CRAY-T3D) 83# 84# cray t3d at nersc 85# 86peigs_CPU = ALPHA 87# 88# 64 bit is single precision 89# 90peigs_TARGET_definition = CRAY_T3D 91peigs_CODEOBJ = SINGLE 92peigs_CC += -DSTD_DBL -DCRAY_T3D 93peigs_NODE = uniproc 94peigs_COMM = TCGMSG 95peigs_CPP += -P 96peigs_FC += -D$(peigs_COMM) 97endif 98 99ifeq ($(peigs_TARGET),CRAY-T3E) # 100# cray t3e at nersc 101# 102peigs_CPU = ALPHA 103# 104# 64 bit is single precision 105# 106peigs_TARGET_definition = CRAY_T3E 107peigs_CODEOBJ = SINGLE 108peigs_CC += -DSTD_DBL -DCRAY_T3D 109peigs_NODE = uniproc 110peigs_COMM = TCGMSG 111peigs_FC += -DCRAY_T3D -DCRAY_T3E -D$(peigs_COMM) -D$(peigs_CPU) -e 0 112peigs_FOPT += 113peigs_CPP += -DCRAY_T3E -DCRAY_T3D -P 114endif 115 116ifeq ($(peigs_TARGET),DELTA) 117peigs_CPU = i860 118# 119# Delta machine, compiled on sun3 (intelisc) or delilah 120# 121peigs_CODEOBJ = DBLE 122peigs_FC += -Mquad -Mr8 -D$(peigs_COMM) 123peigs_CC += -Mquad -Mvect 124peigs_FOPT = -O3 -Minline=100 125peigs_COPT = -O3 -Mvect 126# 127# one has a choice of native ipsc or tcgmsg for message passing 128# 129# peigs_COMM = iPSC_NATIVE 130# 131peigs_CPU = i860 132peigs_CPP += -P 133peigs_CTOFLIB = -l/usr/local/delta/LAPACK -llapack -lf -kmath -lm 134endif 135 136ifeq ($(peigs_TARGET),PARAGON) 137# 138# -Mvect at your own risk 139peigs_CPU = i860 140peigs_FOPT = -O3 -Knoieee -Mquad -Mr8 -Minline=100 141peigs_COPT = -O2 -Knoieee -Mquad -Minline=100 142OPTC2 = -O3 -Knoieee -Mquad 143peigs_FC += -D$(peigs_COMM) 144peigs_CC = -DSTD_DBL -DSTD_INT 145peigs_LINK += -nx 146peigs_CODEOBJ = DBLE 147peigs_CPP += -P 148endif 149 150 151ifeq ($(peigs_TARGET),iPSC_860) 152# 153peigs_CPU = i860 154# peigs_COMM = iPSC_NATIVE 155peigs_COMM = TCGMSG 156peigs_COPT =-O3 -Knoieee -Mquad -Minline=100 157peigs_CODEOBJ = DBLE 158peigs_FOPT = -O4 -Knoieee -Mquad -Mr8 -Minline=100 159peigs_FC += ${peigs_FOPT} -D$(peigs_COMM) 160peigs_CC += -DSTD_DBL -DSTD_INT -DIntel 161endif 162 163ifeq ($(peigs_TARGET),SUN) 164# sun using 165# SUN/TCGMSG 166peigs_CC += -DSTD_DBL -DSTD_INT 167peigs_FC += -Bstatic -O1 -dalign -D$(peigs_COMM) 168peigs_CODEOBJ = DBLE 169peigs_CPU = SPARC 170peigs_COMM = TCGMSG 171# 172# this is the worst to find for any machine 173# for the SUN we have c calling fortran library 174# 175peigs_CTOFLIB = /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0 176# 177endif 178 179ifeq ($(peigs_TARGET),SOLARIS) 180# sun using 181#SUN/TCGMSG 182peigs_CPU = SPARC 183peigs_COMM = TCGMSG 184peigs_CODEOBJ = DBLE 185peigs_CC += -DSTD_DBL -DSTD_INT -O 186ifeq ($(FC),frt) 187#Fujitsu 188 peigs_FC += -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -Kfast -D$(peigs_COMM) 189else 190 peigs_FC += -DSTD_INT -DSTD_DBL -dalign -D$(peigs_CPU) -O4 -D$(peigs_COMM) 191endif 192peigs_CPP += -DSTD_INT -DSTD_DBL -P 193peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 194# 195# this is the worst to find for any machine 196# for the SUN we have c calling fortran library 197# 198#local to pnnl 199peigs_CTOFLIB = /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0 -llapack -lblas -llapack -lm 200# 201#replace if you are on a machine with assembly BLAS library 202# 203endif 204ifeq ($(peigs_TARGET),SOLARIS64) 205# sun using 206#SUN/TCGMSG 207peigs_CPU = SPARC64 208peigs_COMM = TCGMSG 209peigs_CODEOBJ = DBLE 210peigs_CC += -DSTD_DBL -O -D$(peigs_CPU) 211ifeq ($(FC),frt) 212#Fujitsu 213 peigs_FC += -DSTD_DBL -D$(peigs_CPU) -Kfast -KV9 -D$(peigs_COMM) 214else 215 peigs_FC += -DSTD_DBL -dalign -D$(peigs_CPU) -O4 -D$(peigs_COMM) 216endif 217peigs_CPP += -DSTD_DBL -P 218peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 219ifdef USE_INTEGER4 220 peigs_CPP += -DSTD_INT 221 peigs_CC += -DSTD_INT 222 peigs_FC += -DSTD_INT 223endif 224# 225# this is the worst to find for any machine 226# for the SUN we have c calling fortran library 227# 228#local to pnnl 229peigs_CTOFLIB = /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0 -llapack -lblas -llapack -lm 230# 231#replace if you are on a machine with assembly BLAS library 232# 233endif 234 235ifeq ($(peigs_TARGET),SGI) 236#SGI/TCGMSG usually r4000 237 238peigs_CPU = MIPS 239peigs_COMM = TCGMSG 240peigs_CODEOBJ = DBLE 241peigs_CC += -DSTD_DBL -DSTD_INT 242peigs_FC += -align64 -DSTD_INT -DSTD_DBL -D$(peigs_COMM) -D$(peigs_CPU) 243peigs_CPP += -DSTD_INT -DSTD_DBL -P 244peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 245peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o 246endif 247 248ifeq ($(peigs_TARGET),SGI_N32) 249peigs_CPU = MIPS 250peigs_COMM = TCGMSG 251peigs_CODEOBJ = DBLE 252peigs_CC += -DSTD_DBL -DSTD_INT -O3 253peigs_FC += -align64 -D$(peigs_COMM) -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -O3 254peigs_CPP += -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -P 255peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 256peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o 257endif 258 259 260ifeq ($(peigs_TARGET),SGITFP) 261#SGI/TCGMSG, r10000 cpu 7.x compilers 262peigs_CPU = MIPS 263peigs_COMM = TCGMSG 264peigs_CODEOBJ = DBLE 265peigs_CC += -DSTD_DBL -64 -O3 266peigs_FC += -align64 -64 -DSTD_DBL -D$(peigs_COMM) -D$(peigs_CPU) -O3 267peigs_CPP += -DSTD_DBL -P 268peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 269peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o 270peigs_COMM = TCGMSG 271peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o 272endif 273 274ifeq ($(peigs_TARGET),CONVEX-SPP) 275# 276# Convex SPP-1200 running SPP-UX 3.2 277# 278peigs_CODEOBJ = DBLE 279peigs_COMM = TCGMSG 280peigs_CPU = HPPA 281peigs_CC += -DSTD_DBL -DSTD_INT 282peigs_FC += -DSTD_DBL -DSTD_INT -D$(peigs_COMM) 283endif 284 285ifeq ($(peigs_TARGET),HPUX) 286# 287# try for HP running HPUX11.00 288# 289peigs_CODEOBJ = DBLE 290peigs_COMM = TCGMSG 291peigs_CPU = HPPA 292peigs_CC += -O -DSTD_DBL -DSTD_INT -D$(peigs_CPU) 293peigs_FC += -O -DSTD_DBL -DSTD_INT -D$(peigs_COMM) -D$(peigs_CPU) 294endif 295 296ifeq ($(peigs_TARGET),HPUX64) 297# 298# try for HP running HPUX11.00 64-bit 299# 300peigs_CODEOBJ = DBLE 301peigs_COMM = TCGMSG 302peigs_CPU = HPPA 303peigs_CC += -O -DSTD_DBL -D$(peigs_CPU) 304peigs_FC += -O -DSTD_DBL -D$(peigs_COMM) -D$(peigs_CPU) 305ifdef USE_INTEGER4 306 peigs_CPP += -DSTD_INT 307 peigs_CC += -DSTD_INT 308 peigs_FC += -DSTD_INT 309endif 310endif 311 312ifeq ($(peigs_TARGET),IBM) 313# 314# IBM AIX 315# 316peigs_CODEOBJ = DBLE 317peigs_CPU = RS6000 318# -qarch=pwr (for peril) com (for any) , pwr2 or ppc 319peigs_COMM =TCGMSG 320peigs_CC += -DSTD_INT -DSTD_DBL -DIBM -DRS6000 -O -qinline 321# -O3 -qstrict -qinline -qfloat=rsqrt:fltint -qinline 322 323peigs_FC += -d -I$(peigs_HDIR) -O3 -qstrict \ 324-WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \ 325-qfloat=fltint -qinline 326ifdef RSQRT 327peigs_FC += -qfloat=rsqrt:fltint 328endif 329 330peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P 331peigs_BLASLIB = -lblas 332peigs_LAPACKLIB = -llapack 333peigs_PEIGSLIB = -lpeigs 334endif 335ifeq ($(peigs_TARGET),IBM64) 336# 337# IBM AIX 338# 339peigs_CODEOBJ = DBLE 340peigs_CPU = RS600064 341peigs_COMM =TCGMSG 342peigs_CC += -D$(peigs_CPU) -DSTD_DBL -DIBM -O -qinline -qmaxmem=8192 343peigs_FC += -d -I$(peigs_HDIR) -O3 -qstrict \ 344-qfloat=fltint -qinline 345ifdef RSQRT 346peigs_FC += -qfloat=rsqrt:fltint 347endif 348peigs_CPP += -DSTD_DBL -DIBM -I$(peigs_HDIR) -P 349 ifdef USE_INTEGER4 350 peigs_CPP += -DSTD_INT 351 peigs_CC += -DSTD_INT 352 peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 353 else 354 peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 355 endif 356 357peigs_BLASLIB = -lblas 358peigs_LAPACKLIB = -llapack 359peigs_PEIGSLIB = -lpeigs 360endif 361 362ifeq ($(peigs_TARGET),KSR8) 363# 364# real*8 and integer*8 VERSION FOR KSR 365# using the crummy optimized ksrlapk.a ksrblas.a 366# 367# -xfpu3 generate suspect answers for choleski 368# 369# KSR/TCGMSG 370 peigs_CC += -DSTD_DBL -DKSR8 371 peigs_CODEOBJ = DBLE 372 peigs_CPP += -P 373 peigs_CPU =KSR 374 peigs_COMM =TCGMSG 375# 376# peigs_BLASLIB = -lksrblas 377# peigs_LAPACKLIB = -lksrlapk 378 endif 379 380ifeq ($(peigs_TARGET),KSR) 381# 382# "real*8" version of lapack and blas 383# KSR/TCGMSG 384# 385# -xfpu3 generate suspect answers for choleski 386# 387 peigs_CODEOBJ = DBLE 388 peigs_CC += -DSTD_DBL -O2 389 peigs_COPT = -O2 390peigs_FC += -O2 -DSTD_DBL -D$(peigs_COMM) 391 peigs_CPP += -P 392 peigs_CPU =KSR 393 peigs_COMM =TCGMSG 394# 395#peigs_BLASLIB = -lblas 396#peigs_LAPACKLIB = -llapack 397 endif 398 399 ifeq ($(peigs_TARGET),SP) 400## IBM SP-1, sp-2 or cluster of rs6000 wt tcgmsg ( using xlf instead of mpxlf ) 401 peigs_COMM =TCGMSG 402 peigs_CPU = RS6000 403 peigs_CODEOBJ=DBLE 404 peigs_CC += -DSTD_INT -DSTD_DBL -DIBM -DRS6000 -O3 -qstrict \ 405 -I$(HDIR) -qfloat=rsqrt:fltint 406 407 peigs_FC += -I$(peigs_HDIR) -O3 -qstrict \ 408 -WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \ 409 -qfloat=fltint -qinline -NQ40000 -NT80000 410 ifdef RSQRT 411 peigs_FC += -qfloat=rsqrt:fltint 412 endif 413 414 peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P 415 416ifeq ($(NWCHEM_TARGET_CPU),P2SC) 417 peigs_FC += -qarch=p2sc -qtune=p2sc 418 419# -qcache=type=d:level=1:size=128:line=256:assoc=4:cost=14 \ 420# -qcache=type=i:level=1:size=32:line=128 \ 421 422 423 peigs_CC += -qarch=p2sc -qtune=p2sc 424 endif 425 426ifeq ($(NWCHEM_TARGET_CPU),604) 427 peigs_FC += -qarch=604 -qtune=604 428 peigs_CC += -qarch=ppc -qtune=604 429 endif 430 endif 431 432 433 ifeq ($(peigs_TARGET),LAPI) 434## IBM SP-1, sp-2 or cluster of rs6000 wt tcgmsg ( using xlf instead of mpxlf ) 435 peigs_COMM =TCGMSG 436 peigs_CPU = RS6000 437 peigs_CODEOBJ=DBLE 438 peigs_CC += -DSTD_INT -DSTD_DBL -DIBM -DRS6000 -O3 -qstrict \ 439 -I$(peigs_HDIR) -qfloat=fltint -qinline 440 441 peigs_FC += -qthreaded -I$(peigs_HDIR) -O3 -qstrict \ 442 -WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \ 443 -qfloat=fltint -NQ40000 -NT80000 -qinline 444 ifdef RSQRT 445 peigs_FC += -qfloat=rsqrt:fltint 446 endif 447 448 peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P 449 peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 450 peigs_BLASLIB = -lesslp2_r 451 peigs_LAPACKLIB = -lpeigs -lesslp2_r -llapack -lglobal -lutil 452 453 endif 454ifeq ($(peigs_TARGET),LAPI64) 455# 456# IBM AIX 457# 458 peigs_CODEOBJ = DBLE 459 peigs_CPU = RS600064 460 peigs_COMM =TCGMSG 461 peigs_CC += -D$(peigs_CPU) -DSTD_DBL -DIBM -O -qinline \ 462 -Iinclude -DIBM -DSTD_DBL -I$(peigs_HDIR) -D$(peigs_CPU) -D$(peigs_COMM) \ 463 -qfloat=rsqrt:fltint -qinline 464 peigs_CPP += -DSTD_DBL -DIBM -I$(peigs_HDIR) -P 465 ifdef USE_INTEGER4 466 peigs_CPP += -DSTD_INT 467 peigs_CC += -DSTD_INT 468peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 469 else 470peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 471 endif 472 473 peigs_BLASLIB = -lessl_r 474 peigs_LAPACKLIB = -llapack -lessl_r 475 endif 476 477ifeq ($(peigs_TARGET),MACX) 478#MACOSX 479ifeq ($(_CPU),i486) 480 peigs_CPU = PENTIUM 481 peigs_COMM = TCGMSG 482 peigs_CODEOBJ = DBLE 483 peigs_CC += -DSTD_DBL -DSTD_INT 484 peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM) 485else 486 peigs_CPU = RS6000 487 peigs_COMM = TCGMSG 488 peigs_CODEOBJ = DBLE 489 peigs_CC += -DSTD_DBL -DSTD_INT 490peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM) 491 peigs_CPP += -DSTD_INT -DSTD_DBL -P 492#peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 493 peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \ 494 -D${peigs_TARGET_definition} 495ifeq ($(FC),xlf) 496 peigs_FC = $(FC) -O3 -g -qextname -qstrict -I$(peigs_HDIR) \ 497-WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 498 endif 499endif 500 endif 501ifeq ($(peigs_TARGET),MACX64) 502#MACOSX Snow Leopard 503 peigs_CPU = PENTIUM 504 peigs_COMM = TCGMSG 505 peigs_CODEOBJ = DBLE 506 peigs_CC += -DSTD_DBL #-DSTD_INT 507 peigs_FC += -D$(peigs_CPU) -DSTD_DBL -D$(peigs_COMM) 508endif 509 510ifeq ($(peigs_TARGET),$(findstring $(peigs_TARGET),LINUX64 CYGWIN64 CATAMOUNT)) 511#alpha with /tcgmsg 512_CPU = $(shell uname -m ) 513#hack for mingw64 514ifeq ($(_CPU),amd64) 515_CPU = x86_64 516endif 517ifeq ($(_CPU),i686) 518_CPU = x86_64 519endif 520 peigs_COMM = TCGMSG 521 peigs_CODEOBJ = DBLE 522 peigs_CPP = $(CPP) -D${CPU} -DSTD_DBL 523 ifdef USE_INTEGER4 524 peigs_CPP += -DSTD_INT 525 peigs_CC += -DSTD_INT 526 peigs_FC += -DSTD_INT 527 endif 528 peigs_CC += -DSTD_DBL 529 peigs_FC += -DSTD_DBL -D$(peigs_COMM) -D$(peigs_CPU) 530ifeq ($(_CPU),alpha) 531 peigs_CPU = ALPHA 532ifeq ($(CC),gcc) 533 peigs_CC += -O3 -mcpu=ev56 534 else 535 peigs_CC += -O2 -fast -tune host -arch host 536 endif 537 peigs_FC += -O1 -DLINUX64 -DLINUX -tune host -arch host 538 endif 539 540ifeq ($(_CPU),ia64) 541#ia64 with /tcgmsg 542 peigs_CPU = PENTIUM 543ifeq ($(FC),efc) 544 peigs_FC += -O3 -tpp2 -ftz 545 endif 546ifeq ($(CC),ecc) 547 peigs_CC += -O3 -mp1 -ftz -hlo -unroll 548 endif 549 endif 550 551ifeq ($(_CPU),$(findstring $(_CPU), mips mips64 mips64el)) 552 peigs_CPU = PENTIUM 553endif 554ifeq ($(_CPU),aarch64) 555 peigs_CPU = PENTIUM 556endif 557ifeq ($(_CPU),x86_64) 558 peigs_CPU = PENTIUM 559ifeq ($(FC),pgf90) 560 peigs_FC += -Kieee 561 endif 562 endif 563ifeq ($(_CPU),$(findstring $(_CPU), powerpc64 ppc64 ppc64le)) 564#ppc64 with /tcgmsg 565 peigs_CPU = RS6000 566ifeq ($(FC),xlf) 567 peigs_FC = xlf -O3 -qstrict -qextname -q64 -I$(peigs_HDIR) 568 peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 569 peigs_FC += -qtune=auto -qarch=auto -qcache=auto 570 peigs_FC += -qnosave 571 ifdef USE_GPROF 572 peigs_FC += -pg 573 endif 574 peigs_CC += -DIBM -DSTD_DBL -I$(peigs_HDIR) -DRS6000 -D$(peigs_COMM) 575 576 ifdef USE_INTEGER4 577 peigs_CPP += -DSTD_INT 578 peigs_CC += -DSTD_INT 579 peigs_FC += -WF,-DSTD_INT -qintsize=4 580 else 581 peigs_FC += -qintsize=8 582 endif 583 endif 584 endif 585 586 ifndef peigs_CPU 587 peigs_CPU = PENTIUM 588 endif 589endif#end of LINUX64 590 591ifeq ($(peigs_TARGET),cray-sv2) 592peigs_COMM = TCGMSG 593peigs_CPP = $(CPP) -DSTD_DBL 594peigs_CODEOBJ = DBLE 595peigs_CC = $(CC) $(COPTIONS) -I$(peigs_HDIR) 596peigs_CC += -DSTD_DBL -O 597peigs_FC += -DSTD_DBL -D$(peigs_COMM) -Ovector2 598 ifdef USE_INTEGER4 599 peigs_CPP += -DSTD_INT 600 peigs_CC += -DSTD_INT 601 peigs_FC += -DSTD_INT 602 endif 603endif 604 605ifeq ($(peigs_TARGET),$(findstring $(peigs_TARGET),LINUX CYGWIN CYGNUS)) 606# 607# Linux running on an x86 using f77 on f2c 608# 609peigs_COMM = TCGMSG 610peigs_CODEOBJ = DBLE 611peigs_CPU = PENTIUM 612 613ifeq ($(peigs_TARGET), CYGNUS CYGWIN) 614peigs_CC += -DLINUX 615endif 616peigs_CC += -DSTD_DBL -DSTD_INT 617ifeq ($(CC),gcc) 618 peigs_CC += -O2 -g 619endif 620ifeq ($(CC),icc) 621 peigs_CC += -O3 -xW -hlo -unroll 622endif 623peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM) 624peigs_CPP += -DSTD_INT -DSTD_DBL -P 625peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 626# 627# on the hpcc? laptops add /usr/lib/gcc-lib/i486-linux/2.7.0 to your path 628# or make link from /usr/bin 629# 630# temporary slackware hack until george gets cpp/fconvert in the builds 631# 632peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \ 633-D${peigs_TARGET_definition} 634 ifeq ($(FC),xlf) 635 peigs_CPU = RS6000 636 peigs_FC = $(FC) -O3 -g -qextname -qstrict -I$(peigs_HDIR) \ 637 -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 638 endif 639 ifeq ($(FC),blrts_xlf) 640 peigs_CPU = RS6000 641 peigs_FC = $(FC) -O3 -g -qextname -qstrict -I$(peigs_HDIR) \ 642 -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 643 endif 644endif 645 646ifeq ($(peigs_TARGET),PGLINUX) 647# 648# Linux running on an x86 using pgf77 and gcc 649# 650peigs_COMM = TCGMSG 651peigs_CODEOBJ = DBLE 652peigs_CPU = PENTIUM 653peigs_CC += -DSTD_DBL -DSTD_INT 654peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM) 655peigs_CPP += -DSTD_INT -DSTD_DBL -P 656peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 657peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \ 658-D${peigs_TARGET_definition} 659endif 660 661ifeq ($(peigs_TARGET),FUJITSU_VPP) 662peigs_CODEOBJ = DBLE 663peigs_CPU = VPP 664endif 665 666ifeq ($(peigs_TARGET),FUJITSU_VPP64) 667peigs_CODEOBJ = DBLE 668peigs_CPU = VPP 669endif 670 671ifeq ($(peigs_TARGET),BGL) 672#Blue Gene/L 673 peigs_COMM =TCGMSG 674 peigs_CPU = RS6000 675 peigs_CODEOBJ=DBLE 676 peigs_CC += -DSTD_INT -DSTD_DBL -g -O3 677 peigs_FC += -WF,-Iinclude,-DSTD_DBL,-DSTD_INT,-DRS6000,-D$(peigs_COMM) 678 peigs_CPP += -DBGL -DRS6000 -DSTD_INT -DSTD_DBL -I$(peigs_HDIR) -P 679 peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 680 peigs_BLASLIB = -lesslbg 681 peigs_LAPACKLIB = -llapack -lesslbg 682endif 683 684ifeq ($(peigs_TARGET),BGP) 685#Blue Gene/P 686 peigs_COMM =TCGMSG 687 peigs_CPU = RS6000 688 peigs_CODEOBJ=DBLE 689 peigs_CC += -DSTD_INT -DSTD_DBL -g -O3 -qstrict -qarch=450d -qtune=450 690 peigs_FC += -WF,-Iinclude,-DTCGMSG,-DSTD_DBL,-DSTD_INT,-DRS6000,-D$(peigs_COMM) 691 peigs_CPP += -DDCMF -DMPI -DBGP -DRS6000 -DSTD_INT -DSTD_DBL -I$(peigs_HDIR) -P 692 peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 693 peigs_BLASLIB = -lesslbg 694 peigs_LAPACKLIB = -llapack -lesslbg 695 #peigs_AR = powerpc-bgp-linux-ar -r 696 #peigs_RANLIB = powerpc-bgp-linux-ranlib 697endif 698 699 700ifeq ($(peigs_TARGET),BGQ) 701#Blue Gene/Q 702 peigs_COMM =TCGMSG 703 peigs_CPU = RS6000 704 peigs_CODEOBJ=DBLE 705 peigs_CC += -DSTD_DBL -g -O2 706 # Jeff: This needs serious cleanup and care to be consistent w.r.t. config/makefile.h 707 ifeq ($(FC),mpif77) 708 #peigs_FC += -fdefault-integer-8 -g -O2 -funderscoring 709 peigs_FC += -Iinclude -DTCGMSG -DSTD_DBL -DSTD_INT -DRS6000 -D$(peigs_COMM) 710 peigs_BLASLIB = -lblas 711 peigs_LAPACKLIB = -llapack 712 else 713 #peigs_FC += -qintsize=8 -g -O2 -qEXTNAME 714 ifdef USE_INTEGER4 715 peigs_FC += -WF,-Iinclude,-DTCGMSG,-DSTD_DBL,-DSTD_INT,-DRS6000,-D$(peigs_COMM) 716 else 717 peigs_FC += -WF,-Iinclude,-DTCGMSG,-DSTD_DBL,-DRS6000,-D$(peigs_COMM) 718 endif 719 endif 720 peigs_BLASLIB = -lblas -lesslbg 721 peigs_LAPACKLIB = -llapack -lesslbg 722 # 723 peigs_CPP += -DMPI -DBGQ -DRS6000 -DSTD_DBL -I$(peigs_HDIR) -P 724 ifdef USE_INTEGER4 725 peigs_CPP += -DSTD_INT 726 peigs_CC += -DSTD_INT 727 endif 728 peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg 729 peigs_AR = powerpc64-bgq-linux-ar -r 730 peigs_RANLIB = powerpc64-bgq-linux-ranlib 731endif 732 733 734export peigs_COMM 735export peigs_CC 736export peigs_FC 737export peigs_CODEOBJ 738export peigs_FCONVERT 739export peigs_TARGET 740export peigs_NODE 741export peigs_COMM 742export peigs_CPP 743 744