-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
63 lines (56 loc) · 2.11 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
MAIN_DIR=.
DEP_DIR=$(MAIN_DIR)/inc
SRC_DIR=$(MAIN_DIR)/src
USR_SRC_DIR=$(MAIN_DIR)/usr/src
USR_DEP_DIR=$(MAIN_DIR)/usr/inc
OBJ_DIR=$(MAIN_DIR)/obj
USR_OBJ_DIR=$(MAIN_DIR)/usr/obj
BIN_DIR=$(MAIN_DIR)/bin
USR_BIN_DIR=$(MAIN_DIR)/usr/bin
OBJELEM = $(OBJ_DIR)/Client.o \
$(OBJ_DIR)/Communicator.o \
$(OBJ_DIR)/Debugger.o \
$(OBJ_DIR)/Evolution.o \
$(OBJ_DIR)/global.o \
$(OBJ_DIR)/main.o \
$(OBJ_DIR)/Mapper.o \
$(OBJ_DIR)/MathLib.o \
$(OBJ_DIR)/Newton.o \
$(OBJ_DIR)/Parser.o \
$(OBJ_DIR)/System.o \
$(OBJ_DIR)/Solver.o \
$(OBJ_DIR)/testClient.o \
$(OBJ_DIR)/testMap.o
USR_OBJELEM = $(USR_OBJ_DIR)/channel2FE.o \
$(USR_OBJ_DIR)/integratePow.o \
$(USR_OBJ_DIR)/loadXSfromCRM.o \
$(USR_OBJ_DIR)/neutronicCr2kP.o \
$(USR_OBJ_DIR)/neutronicKP2cr.o \
$(USR_OBJ_DIR)/pow2spow.o \
$(USR_OBJ_DIR)/spow2fpow.o \
$(USR_OBJ_DIR)/spowk2fpowk.o \
$(USR_OBJ_DIR)/th2xs.o \
$(USR_OBJ_DIR)/relapPow2th.o \
$(USR_OBJ_DIR)/fermiXs2pow.o \
$(USR_OBJ_DIR)/pumaTh2Pow.o \
$(USR_OBJ_DIR)/userClient.o \
$(USR_OBJ_DIR)/userMap.o
TEST_OBJELEM = $(USR_OBJ_DIR)/mainTest.o
EXE=$(BIN_DIR)/Newton
TEST_EXE=$(USR_BIN_DIR)/Test
MPICC=mpic++ -std=c++11
all: newton test
newton: $(BIN_DIR) $(OBJ_DIR) $(OBJELEM) $(USR_OBJ_DIR) $(USR_OBJELEM)
$(MPICC) $(OBJELEM) $(USR_OBJELEM) \
$(FFLAGS) -o $(EXE) \
$(PETSC_FORTRAN_LIB) $(PETSC_LIB) ${SLEPC_SYS_LIB} -lz
test: $(BIN_DIR) $(OBJ_DIR) $(TEST_OBJELEM)
$(MPICC) $(TEST_OBJELEM) -o $(TEST_EXE)
clean_:
$(RM) $(OBJELEM) $(USR_OBJELEM) $(TEST_OBJELEM) $(EXE) $(TEST_EXE)
${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp
${PETSC_COMPILE} -c ${CFLAGS} -o $@ $< -I${DEP_DIR} -I${USR_DEP_DIR}
${USR_OBJ_DIR}/%.o: ${USR_SRC_DIR}/%.cpp
${PETSC_COMPILE} -c ${CFLAGS} -o $@ $< -I${DEP_DIR} -I${USR_DEP_DIR}
include ${PETSC_DIR}/lib/petsc/conf/variables
include $(PETSC_DIR)/lib/petsc/conf/rules