aboutsummaryrefslogtreecommitdiff
path: root/src/make.configuration.defn
blob: 2d1ac0f8fa2fd21c02b6ee75b2385e27bab0b408 (plain)
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
# Main make.code.defn file for thorn PETSc_Elliptic
# $Header$


# on all systems: PETSc may have been build with X11 support, which
# needs to included here.

# on linux system: the lapack libs (in rpms) are compiled with f2c/g77
# and need the -lg2c or -lf2c to be linked
# keep them at the end of lapack


### check if PETSC_DIR/PETSC_ARCH are set, bail out if not

ifeq ($(strip $(PETSC_DIR)), )
$(NAME): MissingPETSC_DIR
.pseudo: MissingPETSC_DIR
MissingPETSC_DIR:
	@echo "PETSc: need environment variable PETSC_DIR for compiling EllPETSc"
	@echo "PETSc: set PETSC_DIR or remove EllPETSc from ThornList"
	exit 2
endif

ifeq ($(strip $(PETSC_ARCH)), )
$(NAME): MissingPETSC_ARCH
.pseudo: MissingPETSC_ARCH
MissingPETSC_ARCH:
	@echo "PETSc: need environment variable PETSC_ARCH for compiling EllPETSc"
	@echo "PETSc: set PETSC_ARCH or remove EllPETSc from ThornList"
	exit 2
endif

PETSC_LIB_DIR = $(PETSC_DIR)/lib/libg/$(PETSC_ARCH)
PETSC_LIBS = petscts petscsnes petscsles petscdm petscmat petscvec petsc

PLATFORM_LIBS =

### PETSC on the Origin
ifeq ($(PETSC_ARCH),IRIX64)
     PLATFORM_LIBS = blas complib.sgimath
endif

### PETSC on linux
ifeq ($(PETSC_ARCH),linux)
     PLATFORM_LIBS = lapack blas g2c mpich
endif

### Otherwise
ifndef PLATFORM_LIBS
UnknownArch:
	@echo "No Cactus/PETSc support for PETSC_ARCH=$(PETSC_ARCH)"
	exit 2
endif

LIBDIRS += $(PETSC_LIB_DIR) $(X_LIB_DIR)
LIBS += $(PETSC_LIBS) $(PLATFORM_LIBS) X11
EXTRAFLAGS = -I$(PETSC_DIR)/include