-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
83 lines (71 loc) · 2.44 KB
/
Makefile
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
SOURCES := ./src/main.c \
./src/confObj.c \
./src/evolution.c \
./src/inputs.c \
./src/outputs.c \
./src/parse_ini.c \
./src/utils.c \
./src/xmem.c \
./src/xstring.c \
./src/ion_and_temp_evolution/cell.c \
./src/ion_and_temp_evolution/evolution_loop.c \
./src/ion_and_temp_evolution/recomb_rates.c \
./src/ion_and_temp_evolution/solve_ionfraction.c \
./src/ion_and_temp_evolution/solve_temperature.c \
./src/ion_and_temp_evolution/solve_ion_temp.c \
./src/ion_and_temp_evolution/fractions_heat_ion.c \
./src/xray_heating_lya_coupling/21cm_grid.c \
./src/xray_heating_lya_coupling/chem_const.c \
./src/xray_heating_lya_coupling/collisional_coupling.c \
./src/xray_heating_lya_coupling/compute_grid.c \
./src/xray_heating_lya_coupling/convolution_fftw.c \
./src/xray_heating_lya_coupling/cosmology.c \
./src/xray_heating_lya_coupling/cross_sections.c \
./src/xray_heating_lya_coupling/fftw_array_tools.c \
./src/xray_heating_lya_coupling/phys_const.c \
./src/xray_heating_lya_coupling/redshift_tools.c \
./src/xray_heating_lya_coupling/spin_temperature.c \
./src/xray_heating_lya_coupling/wouthuysen_effect.c \
./src/xray_heating_lya_coupling/xray_heating.c \
./src/xray_heating_lya_coupling/3cm_grid.c \
./src/xray_heating_lya_coupling/spin_temperature_He.c
OBJECTS := $(SOURCES:.c=.o)
DOBJECTS := $(SOURCES:.c=.d)
EXECUTABLE := 21CMGRID
# ---------------------------------
# Available debug flags
# ---------------------------------
# DEBUGFLAG_REDSHIFTLIST
# DEBUGFLAG_21CM_TB_CALCULATION
# DEBUGFLAG_3CM_TB_CALCULATION
# DEBUGFLAG_TS_CALCULATION
# DEBUGFLAG_TS_HE_CALCULATION
# DEBUGFLAG_XRAY_FILTER
# DEBUG_WRITE_XRAY_GRIDS_TO_FILE
# DEBUG_XRAY_HEATING
# DEBUGFLAG_LYA_FILTER
# DEBUGFLAG_LYA_SPECTRUM
# ---------------------------------
DEBUG = -D DEBUG_WRITE_XRAY_GRIDS_TO_FILE
#-D DEBUG_XRAY_HEATING
# ---------------------------------
OPTIMIZE = -O3 -ftree-vectorize
WARNING = -Wall -Wextra -Wshadow -g
USE-MPI = yes
ifdef USE-MPI
CC := mpicc
CFLAGS := -c -std=c99 -march=native -lm $(WARNING) $(OPTIMIZE) -D __MPI $(DEBUG)
LDFLAGS := -lfftw3_mpi -lfftw3 -lm -lmpich -lgsl -lgslcblas
else
CC := gcc
CFLAGS := -c -std=c99 -march=native -lm $(WARNING) $(OPTIMIZE) $(DEBUG)
LDFLAGS := -lfftw3 -lm -lgsl -lgslcblas
endif
.PHONY: all clean
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
.c.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf $(OBJECTS) $(DOBJECTS) $(EXECUTABLE)