-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
37 lines (28 loc) · 860 Bytes
/
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
srcdir = src
objdir = .obj
debug ?= 0
FC = gfortran
FLAGS = -I$(objdir) -J$(objdir)
LFLAGS =
ifeq ($(debug), 1)
DFLAGS = -w -p -ggdb -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fcheck=all
else
DFLAGS = -O3
endif
## Individual libraries or modules ##
$(objdir)/greb.original.model.o: $(srcdir)/greb.original.model.f90
@mkdir -p $(@D)
$(FC) $(DFLAGS) $(FLAGS) -c -o $@ $<
$(objdir)/greb.o: $(srcdir)/greb.f90
@mkdir -p $(@D)
$(FC) $(DFLAGS) $(FLAGS) -c -o $@ $<
## greb executable
greb-original: $(objdir)/greb.original.model.o
mkdir -p output
$(FC) $(DFLAGS) $(FLAGS) -o greb-original $^ $(srcdir)/greb.original.shell.web-public.f90 $(LFLAGS)
greb: $(objdir)/greb.o
mkdir -p output
$(FC) $(DFLAGS) $(FLAGS) -o greb $^ $(LFLAGS)
clean:
rm -f greb greb-original $(objdir)/*.o $(objdir)/*.mod
rm -rf $(objdir)