-
Notifications
You must be signed in to change notification settings - Fork 1
/
makefile
112 lines (77 loc) · 5.1 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# lines starting with '#' are comments
# usage: make "target"
# "target" specifies the task to be performed. Default is all
#
# VARIABLES:
#
# this variable sets the compiler to use
CC = g++
# this variable sets the library headers files' path
INCLUDE = -I/usr/local/include/CCfits -I/opt/ccfits/include/CCfits -I./lib
#INCLUDE = -I/opt/ccfits/include/CCfits -I./lib
# this variable sets the library name and path
LIBRARY = -lCCfits -lcfitsio -L/usr/local/lib/ -L./lib
#LIBRARY = -lCCfits -lcfitsio -L/usr/local/lib/ -L/opt/ccfits/lib/ -L./lib
# this variables sets the name of the executable
EXECUTABLE_CORRELATION = programs/correlation.run
EXECUTABLE_LYA1D = programs/compute_lya1d.run
EXECUTABLE_LYA3D = programs/compute_lya3d.run
EXECUTABLE_PROJECTION_CORRECTION = programs/compute_projection_correction.run
EXECUTABLE_TEST_LYA_DELTAS = programs/test_lya_deltas.run
# this variable contains the list of sources
SOURCES_CORRELATION = main_correlation.cpp astro_object.cpp astro_object_dataset.cpp civ_spectra_dataset.cpp correlation_plate.cpp correlation_results.cpp covariance_matrix.cpp covariance_plate.cpp dataset.cpp distortion_matrix.cpp distortion_plate.cpp dla_dataset.cpp function_compute_plate_neighbours.cpp input.cpp interpolation_map.cpp lya_auto_interpolation_map.cpp lya_mean_projected_deltas_interpolation_map.cpp lya_pixel.cpp lya_spectra_dataset.cpp lya_spectrum.cpp pair.cpp pair_dataset.cpp plate.cpp plate_neighbours.cpp plots_object.cpp quasar_dataset.cpp spectra_dataset.cpp sphere_point.cpp strong_lya_dataset.cpp z_dist_interpolation_map.cpp
SOURCES_LYA1D = main_compute_lya_1d.cpp astro_object.cpp astro_object_dataset.cpp civ_spectra_dataset.cpp dataset.cpp function_compute_plate_neighbours.cpp input.cpp interpolation_map.cpp lya_auto_interpolation_map.cpp lya_mean_projected_deltas_interpolation_map.cpp lya_pixel.cpp lya_spectra_dataset.cpp lya_spectrum.cpp plate.cpp plate_neighbours.cpp plots_object.cpp spectra_dataset.cpp sphere_point.cpp
SOURCES_LYA3D = main_compute_lya_3d.cpp astro_object.cpp astro_object_dataset.cpp civ_spectra_dataset.cpp dataset.cpp function_compute_plate_neighbours.cpp input.cpp interpolation_map.cpp lya_auto_interpolation_map.cpp lya_mean_projected_deltas_interpolation_map.cpp lya_pixel.cpp lya_spectra_dataset.cpp lya_spectrum.cpp plate.cpp plate_neighbours.cpp plots_object.cpp spectra_dataset.cpp sphere_point.cpp
SOURCES_PROJECTION_CORRECTION = main_compute_projection_correction.cpp astro_object.cpp astro_object_dataset.cpp civ_spectra_dataset.cpp function_compute_plate_neighbours.cpp input.cpp interpolation_map.cpp lya_auto_interpolation_map.cpp lya_mean_projected_deltas_interpolation_map.cpp lya_pixel.cpp lya_spectra_dataset.cpp lya_spectrum.cpp plate.cpp plate_neighbours.cpp plots_object.cpp spectra_dataset.cpp sphere_point.cpp
SOURCES_PLOT = $(wildcard ./output/plots/*.py)
SOURCES_TEST_LYA_DELTAS = test_lya_deltas.cpp astro_object.cpp astro_object_dataset.cpp civ_spectra_dataset.cpp function_compute_plate_neighbours.cpp input.cpp interpolation_map.cpp lya_auto_interpolation_map.cpp lya_pixel.cpp lya_spectra_dataset.cpp lya_spectrum.cpp plate.cpp plate_neighbours.cpp plots_object.cpp spectra_dataset.cpp sphere_point.cpp
# this variable contains the list of object files
OBJECTS_CORRELATION = $(patsubst %.cpp,build/%.o,$(SOURCES_CORRELATION))
OBJECTS_LYA1D = $(patsubst %.cpp,build/%.o,$(SOURCES_LYA1D))
OBJECTS_LYA3D = $(patsubst %.cpp,build/%.o,$(SOURCES_LYA3D))
OBJECTS_PROJECTION_CORRECTION = $(patsubst %.cpp,build/%.o,$(SOURCES_PROJECTION_CORRECTION))
OBJECTS_PLATE_NEIGHBOURS = $(patsubst %.cpp,build/%.o,$(SOURCES_PLATE_NEIGHBOURS))
OBJECTS_PLOT = $(patsubst %.py,%.pyc,$(SOURCES_PLOT))
OBJECTS_TEST_LYA_DELTAS = $(patsubst %.cpp,build/%.o,$(SOURCES_TEST_LYA_DELTAS))
# this variables sets the options passed to the compiler for compilation only
CFLAGS = -c $(INCLUDE) $(LIBRARY) -fopenmp
# this variable sets the options passed to the compiler for linking
#LFLAGS = $(INCLUDE) $(LIBRARY) -Wall
LFLAGS = $(INCLUDE) $(LIBRARY) -fopenmp -Wall
#
# TARGETS:
#
all: correlation lya_1d lya_3d projection_correction
correlation: $(EXECUTABLE_CORRELATION)
lya_1d: $(EXECUTABLE_LYA1D)
lya_3d: $(EXECUTABLE_LYA3D)
projection_correction: $(EXECUTABLE_PROJECTION_CORRECTION)
test_lya_deltas: $(EXECUTABLE_TEST_LYA_DELTAS)
plots: $(OBJECTS_PLOT)
#
# COMPILATION TARGETS
#
build/%.o: src/%.cpp
$(CC) $(CFLAGS) $< -o $@
%.pyc: %.py
python $<
$(EXECUTABLE_CORRELATION): $(OBJECTS_CORRELATION)
$(CC) $(LFLAGS) $(OBJECTS_CORRELATION) -o $(EXECUTABLE_CORRELATION)
$(EXECUTABLE_LYA1D): $(OBJECTS_LYA1D)
$(CC) $(LFLAGS) $(OBJECTS_LYA1D) -o $(EXECUTABLE_LYA1D)
$(EXECUTABLE_LYA3D): $(OBJECTS_LYA3D)
$(CC) $(LFLAGS) $(OBJECTS_LYA3D) -o $(EXECUTABLE_LYA3D)
$(EXECUTABLE_PROJECTION_CORRECTION): $(OBJECTS_PROJECTION_CORRECTION)
$(CC) $(LFLAGS) $(OBJECTS_PROJECTION_CORRECTION) -o $(EXECUTABLE_PROJECTION_CORRECTION)
$(EXECUTABLE_TEST_LYA_DELTAS): $(OBJECTS_TEST_LYA_DELTAS)
$(CC) $(LFLAGS) $(OBJECTS_TEST_LYA_DELTAS) -o $(EXECUTABLE_TEST_LYA_DELTAS)
#
# CLEAN TARGETS
#
clean: clean_objects clean_programs
clean_objects:
-rm build/*.o
clean_programs:
-rm programs/*.run
clean_plots:
-rm ../plots/*.pyc