-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathMakefile_weightmixer
59 lines (39 loc) · 1.52 KB
/
Makefile_weightmixer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#now using v11+ intel ifort
#Intel. Note heap-arrays needs v10+ of compiler, and avoids Seg Faults for large arrays
F90C = mpif90
#F90C = ifort
healpix = $(HEALPIX)
LAPACKL = -mkl=sequential -lmpi -lhealpix -openmp
#remove -xHost if cluster is not homogeneous
#add -DHEALPIXI4B if using older healpix and get errors about arguments not matching
FFLAGS = -O3 -xHost -fpp -error-limit 5 -DMPIPIX -DMPI -heap-arrays -openmp
#cfitsio = /usr/local/Cluster-Apps/cfitsio/intel/3.300
cfitsio ?= $(CFITSIO)
F90FLAGS = $(FFLAGS) -I$(INCLUDE) -I$(healpix)/include -L$(cfitsio)/lib -L$(healpix)/lib $(LAPACKL) -lcfitsio
OBJFILES= toms760.o inifile.o utils.o spin_alm_tools.o \
HealpixObj.o HealpixVis.o
OBJFILESS = $(OBJFILES) SimLens.o
OBJFILESW = $(OBJFILES) Matrix_utils.o PseudoCl.o AsymmCouplings.o SNModes.o TOMS642.o WeightMixer.o
default: weightmixer
all: weightmixer
spin_alm_tools.o: utils.o toms760.o
HealpixObj.o: spin_alm_tools.o
HealpixVis.o: HealpixObj.o
AsymmCouplings.o: PseudoCl.o
PseudoCl.o: Matrix_utils.o HealpixObj.o
Matrix_utils.o: utils.o
SNModes.o: AsymmCouplings.o
WeightMixer.o: HealpixVis.o PseudoCl.o inifile.o AsymmCouplings.o
SimLens.o: HealpixVis.o inifile.o
.f.o:
f77 $(F90FLAGS) -c $<
%.o: %.f90
$(F90C) $(F90FLAGS) -c $*.f90
%.o: %.F90
$(F90C) $(F90FLAGS) -c $*.F90
simlens: $(OBJFILESS)
$(F90C) -o simlens $(OBJFILESS) $(F90FLAGS) $(LINKFLAGS)
weightmixer: $(OBJFILESW)
$(F90C) -o weightmixer $(OBJFILESW) $(F90FLAGS) $(LINKFLAGS)
clean:
rm -f *.o* *.e* *.mod *.d *.pc *.obj core* *.il