CONFIG: combine wmake rules for KNL architecture as a compile option

- instead of

      WM_COMPILER=GccKNL WM_COMPILE_OPTION=Opt

      -> linux64GccKNLDPInt32Opt

  now specify

      WM_COMPILER=Gcc  WM_COMPILE_OPTION=OptKNL

      -> linux64GccDPInt32OptKNL

This makes it easier (and more obvious) for adding different tweaks
without needing to generate too many files.
Eg,

    cd wmake/rules/linux64Gcc

    cp cOpt   cOptBdw
    cp c++Opt c++OptBdw

    edit these two files and then use WM_COMPILE_OPTION=OptBdw

CONFIG: provide some default c/c++ flags in General compiler rules

- can make is easier when deriving new compile options, and ensures
  that '-02' is enabled as an initial default.
This commit is contained in:
Mark Olesen
2019-01-25 17:39:05 +01:00
parent 3d98c3d593
commit ef6c2ef590
48 changed files with 60 additions and 180 deletions

View File

@ -68,8 +68,8 @@ projectDir="$HOME/OpenFOAM/OpenFOAM-$WM_PROJECT_VERSION"
export WM_COMPILER_TYPE=system export WM_COMPILER_TYPE=system
# [WM_COMPILER] - Compiler: # [WM_COMPILER] - Compiler:
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] | GccKNL | # = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] |
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | IccKNL | Cray | Arm # Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm
export WM_COMPILER=Gcc export WM_COMPILER=Gcc
# [WM_ARCH_OPTION] - Memory addressing: # [WM_ARCH_OPTION] - Memory addressing:
@ -86,8 +86,10 @@ export WM_PRECISION_OPTION=DP
# = 32 | 64 # = 32 | 64
export WM_LABEL_SIZE=32 export WM_LABEL_SIZE=32
# [WM_COMPILE_OPTION] - Optimised, debug, profiling: # [WM_COMPILE_OPTION] - Optimised, debug, profiling, other:
# = Opt | Debug | Prof # = Opt | Debug | Prof
# Other is processor or packaging specific, for example
# = OptKNL
export WM_COMPILE_OPTION=Opt export WM_COMPILE_OPTION=Opt
# [WM_MPLIB] - MPI implementation: # [WM_MPLIB] - MPI implementation:

View File

@ -70,8 +70,8 @@ set projectDir=`lsof +p $$ |& \
setenv WM_COMPILER_TYPE system setenv WM_COMPILER_TYPE system
# [WM_COMPILER] - Compiler: # [WM_COMPILER] - Compiler:
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] | GccKNL | # = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] |
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | IccKNL | Cray | Arm # Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm
setenv WM_COMPILER Gcc setenv WM_COMPILER Gcc
# [WM_ARCH_OPTION] - Memory addressing: # [WM_ARCH_OPTION] - Memory addressing:
@ -88,8 +88,10 @@ setenv WM_PRECISION_OPTION DP
# = 32 | 64 # = 32 | 64
setenv WM_LABEL_SIZE 32 setenv WM_LABEL_SIZE 32
# [WM_COMPILE_OPTION] - Optimised, debug, profiling: # [WM_COMPILE_OPTION] - Optimised, debug, profiling, other:
# = Opt | Debug | Prof # = Opt | Debug | Prof
# Other is processor or packaging specific, for example
# = OptKNL
setenv WM_COMPILE_OPTION Opt setenv WM_COMPILE_OPTION Opt
# [WM_MPLIB] - MPI implementation: # [WM_MPLIB] - MPI implementation:

View File

@ -0,0 +1,7 @@
SUFFIXES += .c
cc = clang
cDBUG =
cOPT = -O2
cWARN = -Wall

View File

@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
CC = clang++ -std=c++11 CC = clang++ -std=c++11
c++DBUG =
c++OPT = -O2
ptFLAGS = -DNoRepository -ftemplate-depth-100 ptFLAGS = -DNoRepository -ftemplate-depth-100
# - Standard warnings # - Standard warnings

View File

@ -0,0 +1,7 @@
SUFFIXES += .c
cc = gcc
cDBUG =
cOPT = -O2
cWARN = -Wall

View File

@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
CC = g++ -std=c++11 CC = g++ -std=c++11
c++DBUG =
c++OPT = -O2
ptFLAGS = -DNoRepository -ftemplate-depth-100 ptFLAGS = -DNoRepository -ftemplate-depth-100
# - Standard warnings # - Standard warnings

View File

@ -0,0 +1,7 @@
SUFFIXES += .c
cc = icc
cDBUG =
cOPT = -O2
cWARN =

View File

@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
CC = icpc -std=c++11 CC = icpc -std=c++11
c++DBUG =
c++OPT = -O2
ptFLAGS = -DNoRepository ptFLAGS = -DNoRepository
# - Standard warnings # - Standard warnings

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Clang/c
cc = clang -m64 -Ddarwin -ftrapping-math cc = clang -m64 -Ddarwin -ftrapping-math
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Clang/c
cc = clang -m64 cc = clang -m64
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc -m64 cc = gcc -m64
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,4 +1,4 @@
c++DBUG = c++DBUG =
c++OPT = -O3 c++OPT = -march=knl -O3
ROUNDING_MATH = -frounding-math ROUNDING_MATH = -frounding-math

View File

@ -0,0 +1,2 @@
cDBUG =
cOPT = -march=knl -O3

View File

@ -1,16 +0,0 @@
SUFFIXES += .c
cc = gcc -m64 -march=knl
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
LINK_LIBS = $(cDBUG)
LINKLIBSO = $(cc) -shared
LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs

View File

@ -1,17 +0,0 @@
include $(GENERAL_RULES)/Gcc/c++
CC = g++ -std=c++11 -m64 -march=knl
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
cxxtoo = $(Ctoo)
cctoo = $(Ctoo)
cpptoo = $(Ctoo)
LINK_LIBS = $(c++DBUG)
LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed

View File

@ -1,2 +0,0 @@
c++DBUG = -ggdb3 -DFULLDEBUG
c++OPT = -O0 -fdefault-inline

View File

@ -1,2 +0,0 @@
c++DBUG = -pg
c++OPT = -O2

View File

@ -1,2 +0,0 @@
cDBUG = -ggdb -DFULLDEBUG
cOPT = -O1 -fdefault-inline -finline-functions

View File

@ -1,2 +0,0 @@
cDBUG =
cOPT = -O3

View File

@ -1,2 +0,0 @@
cDBUG = -pg
cOPT = -O2

View File

@ -1,9 +0,0 @@
CPP = cpp -traditional-cpp $(GFLAGS)
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(GENERAL_RULES)/Gcc/openmp
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -1,3 +0,0 @@
PFLAGS =
PINC = -isystem $(MPI_ARCH_PATH)/include -D_MPICC_H
PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi

View File

@ -1,3 +0,0 @@
PFLAGS = -DMPICH_SKIP_MPICXX
PINC = -isystem $(MPI_ARCH_PATH)/include64
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Icc/c
cc = icc cc = icc
cWARN =
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -0,0 +1,4 @@
c++DBUG =
c++OPT = -xmic-avx512 -fp-speculation=safe -O3
ROUNDING_MATH = -frounding-math

View File

@ -1,16 +0,0 @@
SUFFIXES += .c
cc = icc
cWARN =
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
LINK_LIBS = $(cDBUG) -L$(IA32ROOT)/lib
LINKLIBSO = $(cc) $(cFLAGS) -shared
LINKEXE = $(cc) $(cFLAGS) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs

View File

@ -1,27 +0,0 @@
include $(GENERAL_RULES)/Icc/c++
CC = icpc -std=c++11 -xmic-avx512 -fp-trap=common -fp-model precise -fp-speculation=safe
# Verify if -diag-disable should really be different that the general version
# or was previously simply not kept updated (MAR-2018)
c++WARN = \
-Wall -Wextra \
-Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof \
-Wno-unknown-pragmas \
-diag-disable 654,1125,1292,2304
#
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
cxxtoo = $(Ctoo)
cctoo = $(Ctoo)
cpptoo = $(Ctoo)
LINK_LIBS = $(c++DBUG) -L$(IA64ROOT)/lib
LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed

View File

@ -1,2 +0,0 @@
c++DBUG = -g -DFULLDEBUG -O0
c++OPT =

View File

@ -1,2 +0,0 @@
c++DBUG =
c++OPT = -O3

View File

@ -1,2 +0,0 @@
c++DBUG = -pg
c++OPT = -O2

View File

@ -1,2 +0,0 @@
cDBUG = -g -DFULLDEBUG -O0
cOPT =

View File

@ -1,2 +0,0 @@
cDBUG = -pg
cOPT = -O2

View File

@ -1,8 +0,0 @@
CPP = /lib/cpp -traditional-cpp $(GFLAGS)
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -1,3 +0,0 @@
PFLAGS =
PINC = -isystem $(MPI_ARCH_PATH)/include -D_MPICC_H
PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi

View File

@ -1,3 +0,0 @@
PFLAGS = -DMPICH_SKIP_MPICXX
PINC = -isystem $(MPI_ARCH_PATH)/include64
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Clang/c
cc = clang cc = clang
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc cc = gcc
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc cc = gcc
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Clang/c
cc = clang -m32 cc = clang -m32
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc -m32 cc = gcc -m32
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc cc = gcc
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Icc/c
cc = icc cc = icc
cWARN =
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Icc/c
cc = icc -gcc-version=400 cc = icc -gcc-version=400
cWARN =
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -KPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -KPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc -m64 -mcpu=power5+ cc = gcc -m64 -mcpu=power5+
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc -m64 -mcpu=power8 cc = gcc -m64 -mcpu=power8
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc -m64 cc = gcc -m64
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -1,9 +1,7 @@
SUFFIXES += .c include $(GENERAL_RULES)/Gcc/c
cc = gcc cc = gcc
cWARN = -Wall
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION) include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC