Makefile_AMDiS.mk 4.54 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
LIBS =
22
23
24
25
26
27
28
29
30

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)
31
			LIBS += -L/fastfs/wir/local/lib
32
33
34
35
36
37
38
39
40
41
42
			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

43
LIBS += $(AMDIS_LIB) $(PNG_LIB)
44
LIBS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_date_time
45
46
47

ifeq ($(strip $(USE_UMFPACK)), 1)
	LIBS += $(UMFPACK_LIB)
Thomas Witkowski's avatar
Thomas Witkowski committed
48
	CPPFLAGS += -DHAVE_UMFPACK -DMTL_HAS_UMFPACK
49
	INCLUDES += -I$(AMDIS_DIR)/lib/UMFPACK/Include -I$(AMDIS_DIR)/lib/UFconfig -I$(AMDIS_DIR)/lib/AMD/Include
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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

66
67
68
ifeq ($(strip $(USE_REINIT)), 1)
	LIBS += -L$(AMDIS_DIR)/Reinit/lib -lreinit
endif
69
70
71
72
73
74

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

ifeq ($(strip $(USE_PARALLEL_AMDIS)), 1)
Thomas Witkowski's avatar
Thomas Witkowski committed
75
76
77
78
	include ${PETSC_DIR}/conf/variables
	CFLAGS = ${PETSC_CC_INCLUDES}
	FFLAGS = ${PETSC_FC_INCLUDES}

79
80
81
82
83
84
85
86
87
88
	ifeq ($(strip $(USE_SERVER)), mars)
		ifeq ($(strip $(USE_COMPILER)), gcc)
			COMPILE = g++
		else
			COMPILE = icpc
		endif
	else
		COMPILE = $(MPI_DIR)/bin/mpiCC
	endif

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

100
101
102
103
ifeq ($(strip $(USE_MARMOT)), 1)
	COMPILE = marmotcxx
endif

104
105
106
107
108
# ============================================================================
# ===== compile flags ========================================================
# ============================================================================

ifeq ($(strip $(DEBUG)), 0)
109
       CPPFLAGS += -O3
110
else
Thomas Witkowski's avatar
Thomas Witkowski committed
111
       CPPFLAGS += -g -O0 -DDEBUG=1
112
113
114
115
116
117
118
119
120
121
endif

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

122
123
124
125
126
127
# ============================================================================
# ===== object directory =====================================================
# ============================================================================
ifeq ($(OBJDIR),)
        OBJDIR=.
endif
128
129
130
131
132
# ============================================================================
# ===== libtool linking ======================================================
# ============================================================================

LIBTOOL = $(AMDIS_DIR)/libtool
Thomas Witkowski's avatar
Thomas Witkowski committed
133
134
135
136
137
138

ifeq ($(strip $(USE_PARALLEL_AMDIS)), 1)
	LINK = $(LIBTOOL) --tag=mpiCC --mode=link $(COMPILE)
else
	LINK = $(LIBTOOL) --mode=link $(COMPILE)
endif
139
140
141
142
143
144
145
146
147

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

all : 
	make $(PROGRAMS)

clean: 
Backofen, Rainer's avatar
Backofen, Rainer committed
148
	-rm -rf $(OBJDIR)/*.o
149
150
151
	-rm -rf $(PROGRAMS)

.cc.o: $*.cc
152
	$(COMPILE) $(DEFS) $(INCLUDES) $(CPPFLAGS) -c -o $(OBJDIR)/$*.o $^ 
153
154
155