3
sys.path+=['../'*i+'./Source/MadWeight_File/Python' for i in range(0,2)]
4
sys.path+=['../'*i+'Template/Source/MadWeight_File/Python' for i in range(0,2)]
5
import mod_file, MW_param
7
def mod_dir_to_gfortran(directory):
8
#define global regular expression
9
rule={'S-REGEXP_f77+gfortran+re.I':'','S-REGEXP_g77+gfortran+re.I':''}
11
if type(directory)!=list:
15
file_to_change=find_makefile_in_dir(directory)
17
#modify all those makefile
18
mod_file.mod_file(file_to_change,rule,opt={'nowarning':'\'all\''})
19
print 'remove old compile file'
21
def find_makefile_in_dir(directory):
22
""" retrun a list of all file startinf with makefile in the given directory"""
26
if type(directory)==list:
27
for name in directory:
28
out+=find_makefile_in_dir(name)
32
for name in os.listdir(directory):
33
if os.path.isdir(directory+'/'+name):
34
out+=find_makefile_in_dir(directory+'/'+name)
35
elif os.path.isfile(directory+'/'+name) and name.lower().startswith('makefile'):
36
out.append(directory+'/'+name)
41
def rm_old_compile_file():
43
# remove all the .o files
44
os.path.walk('.', rm_file_extension, '.o')
46
# remove related libraries
47
libraries = ['libblocks.a', 'libgeneric_mw.a', 'libMWPS.a', 'libtools.a', 'libdhelas3.a',
48
'libdsample.a', 'libgeneric.a', 'libmodel.a', 'libpdf.a', 'libdhelas3.so', 'libTF.a',
49
'libdsample.so', 'libgeneric.so', 'libmodel.so', 'libpdf.so']
51
[os.remove(os.path.join(lib_pos, lib)) for lib in libraries \
52
if os.path.exists(os.path.join(lib_pos, lib))]
55
def rm_file_extension( ext, dirname, names):
57
[os.remove(os.path.join(dirname, name)) for name in names if name.endswith(ext)]
62
if "__main__"==__name__:
65
# while value not in ['1','2']:
66
# value=raw_input('On which directory do you want to apply this script? (1/2)\n' + \
67
# ' 1: On this copy of the Template directory\n' + \
68
# ' 2: On the full MG_ME directory\n')
71
directory=['Source','SubProcesses']
75
MW_param.go_to_main_dir()
76
mod_dir_to_gfortran(directory)