Files
ThirdParty-common/etc/makeFiles/scotch/Makefile.inc.Linux.shlib
Mark Olesen f1fe6c9866 ENH: explictly set scotch INTSIZE. Tag scotch libs with -intNN ending
- Use WM_LABEL_SIZE to explicitly define INTSIZE32 or INTSIZE64, which
  ensures that SCOTCH_Num appears as (int32_t | int64_t) and avoids
  any ambiguity that a plain 'int' may have.

- Provide library symlinks to the respective label-size.
  Eg,  libscotch.so -> libscotch-int32.so

  This provides a unique library linkage name that avoids ambiguity
  with system-installed libraries.

- Use IDXSIZE64 (memory addressing width Fortran)

NOTE
  Unfortunately -DINT32 seems to fail if openmpi was built without Fortran!
  The MPI_INT32_T is interpreted as MPI_INTEGER4 which does not exist
  - needs more investigation

ENH: scotch - document Makefile.inc by copying into the source directory

ENH: update kahip build to use cmake for newer versions
2021-12-09 16:30:28 +01:00

67 lines
1.7 KiB
Makefile

#-------------------------------*- makefile -*---------------------------------
#
# Prior to OpenFOAM-v1906, these were always part of the environment
#
# - WM_CFLAGS : with -m32 / -m64 and -fPIC
# - WM_LDFLAGS : with -m32 / -m64
#
# With OpenFOAM-v1906 and later
#
# - wmake -show-cflags : with -m32 / -m64
# - wmake -show-cflags-arch : with -m32 / -m64
#
# Pass these in via the environment since using '$(shell ...)' here does not
# always work well.
#
# Notes:
# - compiled without pthread
#
# Normally set CCS, CCP by caller
#------------------------------------------------------------------------------
EXE =
LIB = .so
OBJ = .o
AR = $(CC)
ARFLAGS = $(WM_CFLAGS) -shared -o
CCS ?= $(CC)
CCP ?= mpicc
CCD = $(CCP)
CFLAGS = $(WM_CFLAGS) -fPIC -O3 \
-UCOMMON_FILE_COMPRESS \
-DCOMMON_RANDOM_FIXED_SEED \
-DSCOTCH_DETERMINISTIC \
-DSCOTCH_RENAME \
-DIDXSIZE64 \
-Drestrict=__restrict
# Use 32/64-bit integers
# ---------------
# Unfortunately -DINT32 seems to fail when openmpi is build without
# Fortran! The MPI_INT32_T is interpreted as MPI_INTEGER4 which does
# not exist
# ---------------
# ifeq ($(WM_LABEL_SIZE),32)
# CFLAGS += -DINTSIZE32
# endif
ifeq ($(WM_LABEL_SIZE),64)
CFLAGS += -DINTSIZE64
endif
CLIBFLAGS = -shared
LDFLAGS = -Xlinker --no-as-needed $(WM_LDFLAGS) -lm -lrt
MAKE = make
CP = cp
CAT = cat
LN = ln
MKDIR = mkdir
MV = mv
RANLIB = echo
LEX = flex "-Pscotchyy$(SCOTCH_NAME_SUFFIX)" -olex.yy.c
YACC = bison "-pscotchyy$(SCOTCH_NAME_SUFFIX)" -y -b y
#------------------------------------------------------------------------------