Makefile_AMDiS.mk 4.03 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
PARMETIS_DIR = $(AMDIS_DIR)/lib/ParMetis-3.1

# ============================================================================
# ===== includes pathes ======================================================
# ============================================================================

AMDIS_INCLUDE = -I$(AMDIS_DIR)/src -I$(AMDIS_DIR)/compositeFEM/src -I$(AMDIS_DIR)/lib/mtl4
MPCCI_INCLUDE = -I$(MPCCI_DIR)/include
PARMETIS_INCLUDE = -I$(PARMETIS_DIR)
PARALLEL_INCLUDE = -I$(AMDIS_DIR)/src/parallel
11
REINIT_INCLUDE = -I$(AMDIS_DIR)/Reinit/src
12

13
INCLUDES = -I. $(AMDIS_INCLUDE) $(MPCCI_INCLUDE) $(REINIT_INCLUDE) $(PARALLEL_INCLUDE)
14
15
16
17
18

# ============================================================================
# ===== libraries ============================================================
# ============================================================================

19
AMDIS_LIB =  -L$(AMDIS_DIR)/lib -lamdis -lcompositeFEM
20
PNG_LIB = 
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

UMFPACK_LIB = -L$(AMDIS_DIR)/lib/AMD/Lib -L$(AMDIS_DIR)/lib/UMFPACK/Lib
ifeq ($(strip $(USE_SERVER)), mars)
	UMFPACK_LIB += -lmkl -lumfpack -lamd
else
	ifeq ($(strip $(USE_SERVER)), themisto)
		UMFPACK_LIB += $(MKL_LIB) -lmkl -lguide -lpthread -lumfpack -lamd
	else	
		ifeq ($(strip $(USE_SERVER)), deimos)
			MPI_DIR = /licsoft/libraries/openmpi/1.2.6/64bit
			UMFPACK_LIB += -lumfpack -lamd -L/licsoft/libraries/goto -lgoto -lpthread
		else
			UMFPACK_LIB += -lblas -lumfpack -lamd
		endif
	endif
endif

MPCCI_LIB = -L$(MPCCI_DIR)/lib/linux-x86-glibc22 -lmpcci
PARMETIS_LIB = -L$(PARMETIS_DIR) -lparmetis -lmetis

LIBS = $(AMDIS_LIB) $(PNG_LIB)
42
LIBS += -lboost_iostreams -lboost_filesystem -lboost_system
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

ifeq ($(strip $(USE_UMFPACK)), 1)
	LIBS += $(UMFPACK_LIB)
endif

ifeq ($(strip $(USE_MKL)), 1)
	ifeq ($(strip $(USE_SERVER)), themisto)
		LIBS += $(MKL_LIB) 
	else
		LIBS += -L$(MKL_LIB) 
	endif

	LIBS += -lmkl -lmkl_solver -lguide -lpthread
endif

ifeq ($(strip $(USE_MPCCI)), 1)
	LIBS += $(MPCCI_LIB) 
endif

62
63
64
ifeq ($(strip $(USE_REINIT)), 1)
	LIBS += -L$(AMDIS_DIR)/Reinit/lib -lreinit
endif
65
66
67
68
69
70

# ============================================================================
# ===== parallel or sequential ? =============================================
# ============================================================================

ifeq ($(strip $(USE_PARALLEL_AMDIS)), 1)
Thomas Witkowski's avatar
Thomas Witkowski committed
71
72
73
74
	include ${PETSC_DIR}/conf/variables
	CFLAGS = ${PETSC_CC_INCLUDES}
	FFLAGS = ${PETSC_FC_INCLUDES}

75
76
77
78
79
80
81
82
83
84
	ifeq ($(strip $(USE_SERVER)), mars)
		ifeq ($(strip $(USE_COMPILER)), gcc)
			COMPILE = g++
		else
			COMPILE = icpc
		endif
	else
		COMPILE = $(MPI_DIR)/bin/mpiCC
	endif

85
	CPPFLAGS += -DHAVE_PARALLEL_DOMAIN_AMDIS
Thomas Witkowski's avatar
Thomas Witkowski committed
86
87
	INCLUDES += $(PETSC_INCLUDE)
	LIBS += $(PARMETIS_LIB) -lmpi $(PETSC_LIB)
88
89
90
91
92
93
94
95
else
	ifeq ($(strip $(USE_COMPILER)), gcc)
		COMPILE = g++
	else
		COMPILE = icpc
	endif
endif

96
97
98
99
ifeq ($(strip $(USE_MARMOT)), 1)
	COMPILE = marmotcxx
endif

100
101
102
103
104
# ============================================================================
# ===== compile flags ========================================================
# ============================================================================

ifeq ($(strip $(DEBUG)), 0)
105
       CPPFLAGS += -O3
106
else
107
       CPPFLAGS += -g -O0
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
endif

ifeq ($(strip $(USE_OPENMP)), 1)
	ifeq ($(strip $(USE_COMPILER)), gcc)
		CPPFLAGS += -fopenmp
	else
		CPPFLAGS += -openmp
	endif
endif


# ============================================================================
# ===== libtool linking ======================================================
# ============================================================================

LIBTOOL = $(AMDIS_DIR)/libtool
Thomas Witkowski's avatar
Thomas Witkowski committed
124
125
126
127
128
129

ifeq ($(strip $(USE_PARALLEL_AMDIS)), 1)
	LINK = $(LIBTOOL) --tag=mpiCC --mode=link $(COMPILE)
else
	LINK = $(LIBTOOL) --mode=link $(COMPILE)
endif
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

# ============================================================================
# ===== rules ================================================================
# ============================================================================

all : 
	make $(PROGRAMS)

clean: 
	-rm -rf *.o
	-rm -rf $(PROGRAMS)

.cc.o: $*.cc
	$(COMPILE) $(DEFS) $(INCLUDES) $(CPPFLAGS) -c -o $*.o $^