-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (34 loc) · 1.35 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
FC= gfortran-mp-4.9
FFLAGS = -O3 --free-form -fdefault-real-8 -fimplicit-none
SRC=src/
MODSRC = $(addprefix $(SRC), threedderivatives.f90 onedpoissonsolver.f90 twodpoissonsolver.f90 threedpoissonsolver.f90)
MODULES = $(MODSRC:.f90=.mod)
TEST1SRC = $(addprefix $(SRC),test1dpoisson.f90)
TEST2SRC = $(addprefix $(SRC),test2dpoisson.f90)
TEST3SRC = $(addprefix $(SRC),test3dpoisson.f90)
TESTDERSRC = $(addprefix $(SRC),testthreedder.f90)
IDEALSRC = $(addprefix $(SRC),idealfluid.f90)
OBJECTS = $(TEST1SRC:.f90=.o) $(TEST2SRC:.f90=.o) $(TEST3SRC:.f90=.o) $(TESTDERSRC:.f90=.o) $(IDEALSRC:.f90=.o)
default : all
all : tests ideal
tests : test1 test2 test3 testder
clean :
rm $(OBJECTS)
rm $(MODULES)
$(MODULES) : %.mod:%.f90
$(FC) $(FFLAGS) -c $< -o $@
$(OBJECTS) : %.o:%.f90 $(MODULES)
$(FC) $(FFLAGS) -c $< -o $@
$(PROGRAM) : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(OBJECTS) -o $@
mv $@ .
ideal : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(IDEALSRC:.f90=.o) -o ideal
test1 : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(TEST1SRC:.f90=.o) -o test1dpoison
test2 : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(TEST2SRC:.f90=.o) -o test2dpoison
test3 : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(TEST3SRC:.f90=.o) -o test3dpoison
testder : $(OBJECTS) $(MODULES)
$(FC) $(FFLAGS) $(MODULES) $(TESTDERSRC:.f90=.o) -o test3dder