34 lines
1.0 KiB
Python
Executable File
34 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import os,re,subprocess,sys
|
|
import damask
|
|
|
|
damaskEnv = damask.Environment('../') # script location relative to root
|
|
baseDir = damaskEnv.relPath('code/')
|
|
|
|
# changing dirs and compiler in makefile
|
|
compiler ={True:'ifort',False:'gfortran'}[\
|
|
subprocess.call(['which', 'ifort'],\
|
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0]
|
|
print('Updating Makefile in %s:\n'%baseDir)
|
|
makefile = open(os.path.join(baseDir,'Makefile'))
|
|
content = makefile.readlines()
|
|
makefile.close()
|
|
makefile = open(os.path.join(baseDir,'Makefile'),'w')
|
|
screenOut=''
|
|
for line in content:
|
|
m = re.match(r'(FFTW|IMKL|ACML|LAPACK)ROOT\s*\?=\s*',line)
|
|
c = re.match(r'F90\s*\?=\s*',line)
|
|
if m:
|
|
if m.group(1).lower() in damaskEnv.pathInfo:
|
|
substitution = damaskEnv.pathInfo[m.group(1).lower()]
|
|
else:
|
|
substitution = ''
|
|
line = '%sROOT ?= %s\n'%(m.group(1),substitution)
|
|
screenOut+=line
|
|
if c:
|
|
line = 'F90 ?= %s\n'%compiler
|
|
screenOut+=line
|
|
makefile.write(line)
|
|
makefile.close()
|
|
print(screenOut)
|