forked from FluidNumerics/SELF
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmake.include
More file actions
68 lines (47 loc) · 1.87 KB
/
make.include
File metadata and controls
68 lines (47 loc) · 1.87 KB
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
BUILD ?= dev
SELF_DIR ?= ./
# Compiler options
include $(SELF_DIR)/make.compiler
# Dependencies options
include $(SELF_DIR)/make.dependencies
SELF_INCDIR = $(SELF_DIR)/include/
SELF_LIBDIR = $(SELF_DIR)/lib/
SELF_OBJDIR = $(SELF_DIR)/obj/
SELF_BINDIR = $(SELF_DIR)/bin/
vpath %.f90 $(SELF_DIR)/src
vpath %.cpp $(SELF_DIR)/src/hip
vpath %.h $(SELF_DIR)/src $(SELF_DIR)/src/hip
SELF_F90_SRCS = SELF_Constants SELF_SupportRoutines SELF_LinkedList SELF_HashTable SELF_Memory \
SELF_CLI SELF_HDF5 SELF_Metadata SELF_MPI SELF_Quadrature SELF_Lagrange SELF_Data \
SELF_Mesh SELF_Geometry SELF_MappedData SELF_DG \
SELF_Advection2D SELF_Advection3D
SELF_CPP_SRCS = SELF_Lagrange SELF_Data SELF_MappedData SELF_Geometry SELF_DG SELF_Advection2D SELF_Advection3D
SELF_LIBS = self
SELF_OBJS = $(addprefix $(SELF_OBJDIR), $(addsuffix .f.o, $(SELF_F90_SRCS)))
SELF_OBJS += $(addprefix $(SELF_OBJDIR), $(addsuffix .cpp.o, $(SELF_CPP_SRCS)))
SELF_LIB_OBJS = $(addprefix $(SELF_LIBDIR)lib, $(addsuffix .a, $(SELF_LIBS)))
SELF_BUILDDIRS = $(SELF_INCDIR) $(SELF_LIBDIR) $(SELF_OBJDIR) $(SELF_BINDIR)
# Recipes
#
self: $(SELF_BINDIR)sadv2d $(SELF_BINDIR)sadv3d
self_clean:
rm -f $(SELF_OBJDIR)*
rm -f $(SELF_BINDIR)*
rm -f $(SELF_LIBDIR)*.a
rm -f $(SELF_MODDIR)*.mod
$(SELF_BINDIR)sadv2d: $(SELF_LIB_OBJS)
$(FC) $(SELF_FFLAGS) $(SELF_OBJDIR)*.o $(SELF_DIR)/src/models/sadv2d.f90 $(SELF_FLIBS) -o $@
$(SELF_BINDIR)sadv3d: $(SELF_LIB_OBJS)
$(FC) $(SELF_FFLAGS) $(SELF_OBJDIR)*.o $(SELF_DIR)/src/models/sadv3d.f90 $(SELF_FLIBS) -o $@
$(SELF_LIBDIR)libself.a: $(SELF_OBJS)
rm -f $@
$(AR) -cq $@ $^
$(SELF_OBJDIR)%.f.o: %.f90
$(FC) $(SELF_FFLAGS) $(SELF_FLIBS) -c $< -o $@
$(SELF_OBJDIR)%.cpp.o: %.cpp
$(FC) $(SELF_CXXFLAGS) -c $< -o $@
# Dependency on build tree existence
$(SELF_OBJS): | $(SELF_BUILDDIRS)
$(SELF_BUILDDIRS):
mkdir $@
.PHONY: self self_clean