-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
65 lines (50 loc) · 1.71 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ToVtk v5.0.026 (05-04-2020)
#=============== Compilation Options ===============
USE_GCC5=YES
USE_DEBUG=NO
USE_FAST_MATH=YES
USE_NATIVE_CPU_OPTIMIZATIONS=YES
LIBS_DIRECTORIES=-L./
LIBS_DIRECTORIES:=$(LIBS_DIRECTORIES) -L../lib/linux_gcc
EXECNAME=ToVTK_linux64
EXECS_DIRECTORY=../bin
ifeq ($(USE_DEBUG), YES)
CCFLAGS=-c -O0 -g -Wall
else
CCFLAGS=-c -O3
ifeq ($(USE_FAST_MATH), YES)
CCFLAGS+= -ffast-math -fno-finite-math-only
endif
ifeq ($(USE_NATIVE_CPU_OPTIMIZATIONS), YES)
CCFLAGS+= -march=native
endif
endif
CC=g++
CCLINKFLAGS=-static -fopenmp
#Required for GCC versions >=5.0
ifeq ($(USE_GCC5), YES)
CCFLAGS+=-D_GLIBCXX_USE_CXX11_ABI=0
CCLINKFLAGS+=-D_GLIBCXX_USE_CXX11_ABI=0
endif
#=============== Files to compile ===============
OBJXML=JXml.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o
OBCOMMON=Functions.o FunctionsGeo3d.o JBinaryData.o JDataArrays.o JException.o JObject.o JOutputCsv.o JPartDataBi4.o JPartDataHead.o JRangeFilter.o JSpaceCtes.o JSpaceEParms.o JSpaceParts.o JVtkLib_ext.o
OBCODE=JCfgRun.o main.o
OBJECTS=$(OBJXML) $(OBCOMMON) $(OBCODE)
#=============== DualSPHysics libs to be included ===============
JLIBS=${LIBS_DIRECTORIES} -ljvtklib_64
#=============== CPU Code Compilation ===============
all:$(EXECS_DIRECTORY)/$(EXECNAME)
rm -rf *.o
ifeq ($(USE_DEBUG), NO)
@echo " --- Compiled Release CPU version ---"
else
@echo " --- Compiled Debug CPU version ---"
mv $(EXECS_DIRECTORY)/$(EXECNAME) $(EXECS_DIRECTORY)/$(EXECNAME)_debug
endif
$(EXECS_DIRECTORY)/$(EXECNAME): $(OBJECTS)
$(CC) $(OBJECTS) $(CCLINKFLAGS) -o $@ $(JLIBS)
.cpp.o:
$(CC) $(CCFLAGS) $<
clean:
rm -rf *.o $(EXECNAME) $(EXECNAME)_debug