1+ # ######################################################################
2+ # Arch Linux Configuration
3+ # For use with pacman packages: openmpi, hdf5-openmpi,
4+ # netcdf-openmpi, scalapack, blas, lapack
5+ # ######################################################################
6+
17# ######################################################################
28# Define Basic Utilities
39# ######################################################################
4- SHELL ?= /bin /zsh
10+ SHELL ?= /bin /sh
511 PWD1 = `pwd `
612 MYHOME = $(HOME )/bin
713 PRECOMP := /usr /bin /cpp -traditional -DLINUX
2834 MPI_COMPILE_C = mpicc
2935 MPI_LINK = mpif90
3036 MPI_RUN = mpiexec
31- MPI_RUN_OPTS = -np 4
32- # MPI_RUN_OPTS_SM = -np 16
33- # MPI_RUN_OPTS_MD = -np 64
34- # MPI_RUN_OPTS_LG = -np 256
37+ MPI_RUN_OPTS = --use -hwthread -cpus
3538
3639# ######################################################################
3740# NAG Options
5053# NTCC Options
5154# ######################################################################
5255 LNTCC = F
53- NTCC_INC = -I / usr / include
54- NTCC_LIB = -L / usr /lib -laladdinsub -lr8slatec -ladpak \
56+ NTCC_INC = -I $( NTCCHOME )/ mod
57+ NTCC_LIB = -L $( NTCCHOME ) /lib -laladdinsub -lr8slatec -ladpak \
5558 -lcppsub -lcomput -lpspline -lportlib -lezcdf -lmds_sub \
5659 -lmdstransp -lvaxonly
5760
6063# ######################################################################
6164 LHDF5 = T
6265 HDF5_INC = -I /usr /include
63- HDF5_LIB = -L /usr /lib \
64- -lhdf5 -lhdf5_hl -lhdf5_fortran
66+ HDF5_LIB = -L /usr /lib -lhdf5 -lhdf5_hl -lhdf5_fortran -lhdf5_hl_fortran
6567
6668# ######################################################################
6769# PGPLOT Options
6870# ######################################################################
6971 LPGPLOT = F
7072 PGPLOT_INC = -I $(PGPLOT_DIR )
71- PGPLOT_LIB = -L $(PGPLOT_DIR ) -lpgplot -L /usr /lib / x86_64 - linux - gnu -lX11
73+ PGPLOT_LIB = -L $(PGPLOT_DIR ) -lpgplot -L /usr /lib -lX11
7274
7375# ######################################################################
7476# SILO Options
7577# ######################################################################
7678 LSILO = F
7779 SILO_INC = -I $(SILOHOME )/include
78- SILO_LIB = -L $(SILOHOME )/lib / x86_64 - linux - gnu -lsiloh5
80+ SILO_LIB = -L $(SILOHOME )/lib -lsiloh5
7981
8082# ######################################################################
8183# FFTW3 Options
9395# ######################################################################
9496# GENE Options
9597# ######################################################################
96- LGENE = F
98+ ifneq ("$(wildcard $(GENE_PATH))" , "" )
99+ LGENE = T
97100 GENE_INC = -I $(GENE_PATH )
98101 GENE_DIR = $(GENE_PATH )
99102 LIB_GENE = libgene . a
100103 GENE_LIB = $(GENE_DIR )/$(LIB_GENE ) \
101- -L /u /slazerso /src /GENE17_2016 /external /pppl_cluster /futils /src -lfutils \
102104 -L $(FFTWHOME )/lib -lfftw3 \
103105 -L $(SLEPC_DIR )/$(PETSC_ARCH )/lib -lslepc \
104106 -L $(PETSC_DIR )/$(PETSC_ARCH )/lib -lpetsc -lX11
107+ else
108+ LGENE = F
109+ endif
105110
106111# ######################################################################
107112# COILOPT++ Options
108113# ######################################################################
109- LCOILOPT = F
114+ ifneq ("$(wildcard $(COILOPT_PATH))" , "" )
115+ LCOILOPT = T
110116 COILOPT_INC = -I $(COILOPT_PATH )
111117 COILOPTPP_DIR = $(COILOPT_PATH )
112118 LIB_COILOPTPP = libcoilopt ++. a
113119 COILOPT_LIB = $(COILOPT_PATH )/$(LIB_COILOPTPP ) \
114- -L $(GSLHOME )/lib /x86_64 -linux -gnu -lgsl -lgslcblas -lstdc ++ -lmpi_cxx
120+ -L $(GSLHOME )/lib -lgsl -lgslcblas -lstdc ++
121+ else
122+ LCOILOPT = F
123+ endif
115124
116125# ######################################################################
117126# TERPSICHORE Options
118127# ######################################################################
119- LTERPSICHORE = F
128+ ifneq ("$(wildcard $(TERPSICHORE_PATH))" , "" )
129+ LTERPSICHORE = T
120130 TERPSICHORE_INC = -I $(TERPSICHORE_PATH )
121131 TERPSICHORE_DIR = $(TERPSICHORE_PATH )
122132 LIB_TERPSICHORE = libterpsichore . a
123133 TERPSICHORE_LIB = $(TERPSICHORE_DIR )/$(LIB_TERPSICHORE )
134+ else
135+ LTERPSICHORE = F
136+ endif
124137
125138# ######################################################################
126139# TRAVIS Options
127140# ######################################################################
128- LTRAVIS = F
141+ ifneq ("$(wildcard $(TRAVIS_PATH))" , "" )
142+ LTRAVIS = T
129143 TRAVIS_DIR = $(TRAVIS_PATH )
130144 LIB_TRAVIS = libtravis64_sopt . a
131145 LIB_MCONF = libmconf64 . a
132- TRAVIS_LIB = $(TRAVIS_DIR )/lib /$(LIB_TRAVIS ) \
133- $(TRAVIS_DIR )/mag_conf /lib /$(LIB_MCONF ) -lstdc ++
146+ LIB_FADDEEVA = libfaddeeva64 . a
147+ TRAVIS_LIB = $(TRAVIS_DIR )lib /$(LIB_TRAVIS ) \
148+ $(TRAVIS_DIR )faddeeva_package /lib /$(LIB_FADDEEVA ) \
149+ $(TRAVIS_DIR )magconf /lib /$(LIB_MCONF ) -lstdc ++
150+ else
151+ LTRAVIS = F
152+ endif
134153
135154# ######################################################################
136155# REGCOIL Options
137156# ######################################################################
138- LREGCOIL = F
157+ ifneq ("$(wildcard $(REGCOIL_PATH))" , "" )
158+ LREGCOIL = T
139159 REGCOIL_DIR = $(REGCOIL_PATH )
140160 REGCOIL_INC = -I $(REGCOIL_DIR )
141161 LIB_REGCOIL = libregcoil . a
142162 REGCOIL_LIB = $(REGCOIL_DIR )/$(LIB_REGCOIL ) -fopenmp
163+ else
164+ LREGCOIL = F
165+ endif
166+
167+ # ######################################################################
168+ # SFINCS Options
169+ # ######################################################################
170+ ifneq ("$(wildcard $(SFINCS_PATH))" , "" )
171+ LSFINCS = T
172+ SFINCS_DIR = $(SFINCS_PATH )
173+ SFINCS_INC = -I $(SFINCS_DIR )
174+ LIB_SFINCS = libsfincs . a
175+ SFINCS_LIB = $(SFINCS_DIR )/$(LIB_SFINCS ) \
176+ -L $(PETSC_DIR )/$(PETSC_ARCH )/lib -lpetsc -lX11
177+ else
178+ LSFINCS = F
179+ endif
143180
144181# ######################################################################
145182# Available Energy Options
146183# ######################################################################
147- LAEOPT = F
184+ ifneq ("$(wildcard $(AEOPT_PATH))" , "" )
185+ LAEOPT = T
148186 AEOPT_DIR = $(AEOPT_PATH )
149187 AEOPT_INC = -I $(AEOPT_DIR )
150188 LIB_AEOPT = libtrapAE . a
151189 AEOPT_LIB = $(AEOPT_PATH )/$(LIB_AEOPT )
190+ else
191+ LAEOPT = F
192+ endif
152193
153194# ######################################################################
154195# MANGO Options
155196# ######################################################################
156197ifneq ("$(wildcard $(MANGO_PATH))" , "" )
157198 LMANGO = T
158199 MANGO_DIR = $(MANGO_PATH )
159- # Any flags specified on the next 2 lines will be added to the
160- # MANGO_F_COMPILE_FLAGS and MANGO_F_LINK_FLAGS lines as defined in
161- # $(MANGO_DIR)/lib/mangoMakeVariables
162200 MANGO_INC =
163201 MANGO_LIB =
164202else
@@ -168,34 +206,4 @@ endif
168206# ######################################################################
169207# LIBSTELL Shared Options
170208# ######################################################################
171- # LIB_SHARE = $(BLASHOME)/lib/libblas.so \
172- $(SCALAPACK_HOME )/lib /libscalapack -openmpi . so \
173- $(BLACS_HOME )/lib /libblacs -openmpi . so $(BLACS_HOME )/lib /libblacsCinit -openmpi . so $(BLACS_HOME )/lib /libblacsF77init -openmpi . so \
174- $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5_hl . so $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5_fortran . so $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5hl_fortran . so $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5 . so \
175- $(HDF5_HOME )/lib /x86_64 -linux -gnu /libmpi_usempif08 . so $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5_openmpi_fortran . so \
176- $(NETCDF_HOME )/lib /x86_64 -linux -gnu /libnetcdf . so $(NETCDF_HOME )/lib /x86_64 -linux -gnu /libnetcdff . so $(NETCDF_HOME )/lib /x86_64 -linux -gnu /libnetcdf_c ++. so \
177- $(SILOHOME )/lib /x86_64 -linux -gnu /libsiloh5 . so \
178- $(GSLHOME )/lib /x86_64 -linux -gnu /libgsl . so \
179- $(GCC6_HOME )/libgfortran . so $(GCC6_HOME )/libstdc ++. so \
180- $(MPIHOME )/lib /x86_64 -linux -gnu /libmpi . so $(MPIHOME )/lib /x86_64 -linux -gnu /libmpi_mpifh . so \
181- /usr /lib /x86_64 -linux -gnu /libm . so /usr /lib /liblapack . so /usr /lib /x86_64 -linux -gnu /libdl . so
182- # LIB_SHARE = $(BLASHOME)/lib/libblas.so \
183- $(SCALAPACK_HOME )/lib /libscalapack -openmpi . so .1 \
184- $(BLACS_HOME )/lib /libblacs -openmpi . so .1 \
185- $(BLACS_HOME )/lib /libblacsCinit -openmpi . so .1 \
186- $(BLACS_HOME )/lib /libblacsF77init -openmpi . so .1 \
187- $(HDF5_HOME )/lib /x86_64 -linux -gnu /libhdf5_openmpi_fortran . so \
188- $(NETCDF_HOME )/lib /libnetcdf . so \
189- $(NETCDF_HOME )/lib /libnetcdff . so \
190- $(NETCDF_HOME )/lib /libnetcdf_c ++. so \
191- $(SILOHOME )/lib /x86_64 -linux -gnu /libsiloh5 . so \
192- $(GSLHOME )/lib /x86_64 -linux -gnu /libgsl . so \
193- $(GCC49_HOME )/libgfortran . so \
194- $(GCC49_HOME )/libstdc ++. so \
195- $(MPIHOME )/lib /libmpi . so \
196- $(MPIHOME )/lib /libmpif77 . so \
197- /usr /lib /x86_64 -linux -gnu /libm . so \
198- /usr /lib /liblapack . so \
199- /usr /lib /x86_64 -linux -gnu /libdl . so
200-
201-
209+ LIB_SHARE = -lc -lgfortran -lstdc ++ -lmpi -lmpi_mpifh -lz -lc -lm -lpthread $(LIBS ) -lc
0 commit comments