Makefile.2D.parallel.mpifort 4.6 KB
Newer Older
rabgra's avatar
rabgra committed
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
111
# FICHIER DE CREATION D'OBJETS ET D'UN EXECUTABLE
#     RANGEMENT PAR ORDRE ALPHABETIQUE
#
# VERSION DEBBUGGEUR -db
# VERSION OPTIMISEUR   
F90=mpifort
OBJDIR = obj2D
MODDIR = mod2D
BINDIR = bin2D
SRC = Src2D
OPT=-O3

#-I$(PETSC_DIR)/include -I/usr/lib/openmpi/include
#-I$(PETSC_DIR)/include -I/usr/lib/openmpi/include -L/usr/lib

FFLAGS = -DLINUX -D parallel -J$(MODDIR)  -cpp -c $(OPT) # -fcheck=all #-Wall
LDFLAGS= -J$(MODDIR)  -cpp $(OPT) # -fcheck=all # -Wall


MODEL_VAR= variable_def_2D_euler
INIT_BC=init_bc_euler
BC=Boundary_euler
UTILS=utils_euler

#MODEL_VAR= variable_def_ondes
#INIT_BC=init_bc_wave
#BC=Boundary_wave
#UTILS=utils_wave

OBJS = $(addprefix $(OBJDIR)/, elements.o aretes.o param2d.o $(MODEL_VAR).o  scheme.o overloading.o algebra.o geom.o GeomGraph.o frontieres.o postprocessing.o  Model.o timestepping.o  update.o  ParallelFunctions.o $(INIT_BC).o $(UTILS).o  $(BC).o precision.o)


dec: $(MODDIR) $(OBJDIR) $(BINDIR) $(OBJS) $(SRC)/main_dec.f90 
	$(F90) $(LDFLAGS) -o $(BINDIR)/main_dec.out $(SRC)/main_dec_parallel.f90 $(OBJS)


$(MODDIR): 
	mkdir -p $(MODDIR)

$(OBJDIR):	
	mkdir -p $(OBJDIR)

$(BINDIR):	
	mkdir -p $(BINDIR)	


$(OBJDIR)/elements.o: $(SRC)/elements.f90 $(OBJDIR)/algebra.o $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/overloading.o $(OBJDIR)/precision.o $(OBJDIR)/aretes.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/elements.o $(SRC)/elements.f90

$(OBJDIR)/update.o: $(SRC)/update.f90 $(OBJDIR)/param2d.o $(OBJDIR)/scheme.o $(OBJDIR)/overloading.o $(OBJDIR)/Model.o $(OBJDIR)/elements.o $(OBJDIR)/aretes.o $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/update.o $(SRC)/update.f90

$(OBJDIR)/Model.o: $(SRC)/Model.f90 $(OBJDIR)/$(INIT_BC).o $(OBJDIR)/param2d.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/Model.o $(SRC)/Model.f90

$(OBJDIR)/$(UTILS).o: $(SRC)/$(UTILS).f90 $(OBJDIR)/param2d.o $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/$(UTILS).o $(SRC)/$(UTILS).f90

$(OBJDIR)/$(INIT_BC).o: $(SRC)/$(INIT_BC).f90 $(OBJDIR)/param2d.o $(OBJDIR)/overloading.o $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/$(INIT_BC).o $(SRC)/$(INIT_BC).f90

$(OBJDIR)/postprocessing.o: $(SRC)/postprocessing.f90 $(OBJDIR)/param2d.o $(OBJDIR)/$(UTILS).o $(OBJDIR)/Model.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/postprocessing.o $(SRC)/postprocessing.f90

$(OBJDIR)/frontieres.o: $(SRC)/frontieres.f90 $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/frontieres.o $(SRC)/frontieres.f90

$(OBJDIR)/aretes.o: $(SRC)/aretes.f90 $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/aretes.o $(SRC)/aretes.f90

$(OBJDIR)/overloading.o: $(SRC)/overloading.f90 $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/overloading.o $(SRC)/overloading.f90

$(OBJDIR)/param2d.o: $(SRC)/param2d.f90 $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/elements.o $(OBJDIR)/aretes.o $(OBJDIR)/frontieres.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/param2d.o $(SRC)/param2d.f90

$(OBJDIR)/$(MODEL_VAR).o: $(SRC)/$(MODEL_VAR).f90  $(OBJDIR)/algebra.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/$(MODEL_VAR).o $(SRC)/$(MODEL_VAR).f90

$(OBJDIR)/scheme.o: $(SRC)/scheme.f90  $(OBJDIR)/$(MODEL_VAR).o $(OBJDIR)/elements.o $(OBJDIR)/overloading.o $(OBJDIR)/$(INIT_BC).o $(OBJDIR)/Model.o $(OBJDIR)/precision.o $(OBJDIR)/$(BC).o
	$(F90) $(FFLAGS) -o $(OBJDIR)/scheme.o $(SRC)/scheme.f90

$(OBJDIR)/algebra.o: $(SRC)/algebra.f90 $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/algebra.o $(SRC)/algebra.f90

$(OBJDIR)/geom.o: $(SRC)/geom.f90 $(OBJDIR)/param2d.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/geom.o $(SRC)/geom.f90

$(OBJDIR)/GeomGraph.o: $(SRC)/GeomGraph.f90 $(OBJDIR)/param2d.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/GeomGraph.o $(SRC)/GeomGraph.f90

$(OBJDIR)/timestepping.o: $(SRC)/timestepping.f90 $(OBJDIR)/param2d.o $(OBJDIR)/scheme.o $(OBJDIR)/overloading.o $(OBJDIR)/Model.o $(OBJDIR)/update.o $(OBJDIR)/precision.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/timestepping.o $(SRC)/timestepping.f90

$(OBJDIR)/precision.o: $(SRC)/precision.f90
		        $(F90) $(FFLAGS) -o $(OBJDIR)/precision.o $(SRC)/precision.f90

$(OBJDIR)/$(BC).o: $(SRC)/$(BC).f90 $(OBJDIR)/param2d.o $(OBJDIR)/overloading.o $(OBJDIR)/precision.o
		      $(F90) $(FFLAGS) -o $(OBJDIR)/$(BC).o $(SRC)/$(BC).f90

$(OBJDIR)/ParallelFunctions.o: $(SRC)/ParallelFunctions.f90 $(OBJDIR)/param2d.o $(OBJDIR)/scheme.o $(OBJDIR)/overloading.o $(OBJDIR)/Model.o $(OBJDIR)/update.o $(OBJDIR)/aretes.o
	$(F90) $(FFLAGS) -o $(OBJDIR)/ParallelFunctions.o $(SRC)/ParallelFunctions.f90
			

clean:	
	rm -rf $(OBJDIR)
	rm -rf $(MODDIR)
	rm -rf $(BINDIR)
	rm $(SRC)/*.f90~ 
	rm *.mod