wmake: Add support for compiler type default rules

which may be optionally overridden by version-specific rules.

For example the default rules for gcc on GNU/Linux x86_64 are in the
wmake/rules/linux64Gcc directory.  If there is a need to change any of
the rules for a specific version of gcc, e.g. gcc-4.8.4 the directory
wmake/rules/linux64Gcc48 may be created into which any of the language
files may be provided containing the rules to override the defaults.
This commit is contained in:
Henry Weller
2016-01-24 14:10:07 +00:00
parent 55f8712e4e
commit c3a03105c4
55 changed files with 99 additions and 108 deletions

View File

@ -12,4 +12,17 @@ GINC =
GLIBS = -lm
GLIB_LIBS =
COMPILER_TYPE = $(shell echo $(WM_COMPILER) | tr -d [:digit:])
DEFAULT_RULES = $(WM_DIR)/rules/$(WM_ARCH)$(COMPILER_TYPE)
RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER)
WMAKE_BIN = $(WM_DIR)/platforms/$(WM_ARCH)$(WM_COMPILER)
include $(DEFAULT_RULES)/general
include $(DEFAULT_RULES)/$(WM_LINK_LANGUAGE)
-include $(RULES)/general
-include $(RULES)/$(WM_LINK_LANGUAGE)
include $(GENERAL_RULES)/transform
#------------------------------------------------------------------------------

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = clang -m64
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-tautological-u
CC = clang++ -std=c++0x -m64
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -4,5 +4,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc -m64
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x -m64
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -4,5 +4,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -1 +0,0 @@
linux64Gcc

View File

@ -4,7 +4,7 @@ cWARN =
cc = icc
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -8,7 +8,7 @@ c++LESSWARN = -diag-disable 1224,2026,2305
CC = icpc -std=c++0x -fp-trap=common -fp-model precise
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository

View File

@ -4,5 +4,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,5 +5,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = clang -m32
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedef -Wno-tautological-un
CC = clang++ -std=c++0x -m32
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,5 +5,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc -m32
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x -m32
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,5 +5,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -1 +0,0 @@
linuxGcc

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -4,6 +4,6 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN =
cc = icc
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -8,7 +8,7 @@ c++LESSWARN = -diag-disable 1224,2026,2305
CC = icpc -std=c++0x
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository

View File

@ -4,6 +4,6 @@ GLIBS =
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN =
cc = icc -gcc-version=400
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -KPIC

View File

@ -8,7 +8,7 @@ c++LESSWARN = -diag-disable 1224,2026,2305
CC = icpc -std=c++0x -fp-trap=common -fp-model precise
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository

View File

@ -5,5 +5,5 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc -m64 -mcpu=power5+
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x -m64 -mcpu=power5+
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,6 +5,6 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc -m64 -mcpu=power8
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
CC = g++ -std=c++0x -m64 -mcpu=power8
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,6 +5,6 @@ PROJECT_LIBS = -l$(WM_PROJECT) -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc -m64
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN =
CC = g++ -std=c++0x -m64
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -5,6 +5,6 @@ PROJECT_LIBS = -l$(WM_PROJECT) -lnsl -lsocket -L$(FOAM_LIBBIN)/dummy -lPstream
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++

View File

@ -4,7 +4,7 @@ cWARN = -Wall
cc = gcc
include $(RULES)/c$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

View File

@ -7,7 +7,7 @@ c++LESSWARN =
CC = g++ -std=c++0x
include $(RULES)/c++$(WM_COMPILE_OPTION)
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-100

View File

@ -4,6 +4,6 @@ PROJECT_LIBS = -l$(WM_PROJECT) -lnsl -lsocket -L$(FOAM_LIBBIN)/dummy -lPstream
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(DEFAULT_RULES)/X
include $(DEFAULT_RULES)/c
include $(DEFAULT_RULES)/c++