-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathMakefile
52 lines (42 loc) · 1.19 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
## compilers
# gfortran
FORT = gfortran
F90FLAGS = -O3
# g95
#FORT = g95
#F90FLAGS = -O3 -fsloppy-char
# Absoft (untested)
#FORT = f90
#F90FLAGS = -s -O3 -YEXT_NAMES=LCS -YEXT_SFX=_ -Z156 -N113 -N11
## libraries
LIBS = -llapack -lblas
all: plasti_oly meshg_oly
#####
##### PLASTI
#####
## object files to link (includes any header and module files)
PLAS_OBJS = SRC/plasti_oly.o SRC/thermal_oly.o
## Link all files into main program
plasti_oly: $(PLAS_OBJS)
$(FORT) $(LINKFLAGS) $(PLAS_OBJS) -o plasti_oly $(LIBS)
## compile object files
SRC/plasti_oly.o: SRC/plasti_oly.f
$(FORT) $(F90FLAGS) -c SRC/plasti_oly.f -o SRC/plasti_oly.o
SRC/thermal_oly.o: SRC/thermal_oly.f
$(FORT) $(F90FLAGS) -c SRC/thermal_oly.f -o SRC/thermal_oly.o
## clean
clean:
rm -f $(PLAS_OBJS) *.mod $(MESH_OBJS) $(PLAS2DX_OBJS) plasti_oly meshg_oly
#####
##### MESHG
#####
## object files to link
MESH_OBJS = SRC/meshg_oly.o SRC/erfc.o
## Link files into main program
meshg_oly: $(MESH_OBJS)
$(FORT) $(LINKFLAGS) $(MESH_OBJS) -o meshg_oly
## compile object files
SRC/meshg_oly.o: SRC/meshg_oly.f
$(FORT) $(F90FLAGS) -c -o SRC/meshg_oly.o SRC/meshg_oly.f
SRC/erfc.o: SRC/erfc.f
$(FORT) $(F90FLAGS) -c -o SRC/erfc.o SRC/erfc.f