separate the C compiler flags and C++ compiler flags where needed

This commit is contained in:
nhmall
2021-02-05 09:45:03 -05:00
parent f8785792bd
commit 769b8877fc
5 changed files with 24 additions and 38 deletions

View File

@@ -176,7 +176,7 @@ SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(TARGETPFX)unixtty.o \
# The Qt and Be window systems are written in C++, while the rest of
# NetHack is standard C. If using Qt, uncomment the LINK line here to get
# the C++ libraries linked in.
CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include $(QTCXXFLAGS)
CXXFLAGS = $(CCXXFLAGS) -I. -I$(QTDIR)/include $(QTCXXFLAGS)
CXX ?= g++
MOC ?= moc
#LINK=g++

View File

@@ -32,7 +32,6 @@ CFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \
CFLAGS+=-pedantic
CFLAGS+=-Wmissing-declarations
CFLAGS+=-Wformat-nonliteral
CFLAGS+=-DGCC_WARN
# As of LLVM build 2336.1.00, this gives dozens of spurious messages, so
# # leave it out by default.
# #CFLAGS+=-Wunreachable-code
@@ -46,39 +45,42 @@ CFLAGS+=-Wmissing-prototypes
CFLAGS+=-Wold-style-definition
CFLAGS+=-Wstrict-prototypes
ifdef WANT_WIN_QT
QTCXXFLAGS = -g -I../include -DNOTPARMDECL
QTCXXFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \
CCXXFLAGS = -g -I../include -DNOTPARMDECL
CCXXFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \
-Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings
QTCXXFLAGS+=-pedantic
QTCXXFLAGS+=-Wmissing-declarations
QTCXXFLAGS+=-Wformat-nonliteral
QTCXXFLAGS+=-DGCC_WARN
endif
CCXXFLAGS+=-pedantic
CCXXFLAGS+=-Wmissing-declarations
CCXXFLAGS+=-Wformat-nonliteral
ifeq "$(CCISCLANG)" ""
#gcc-specific here
# gcc-specific follows
CFLAGS+=-Wmissing-parameter-type
ifdef WANT_WIN_QT
CCXXFLAGS+= -Wno-deprecated-copy
endif # WANT_WIN_QT
# get the version of gcc
GCCGTEQ9 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 9)
ifeq "$(GCCGTEQ9)" "1"
# flags present in gcc version greater than or equal to 9 can go here
#CFLAGS+=-Wno-format-overflow
CFLAGS+=-Wformat-overflow
endif #gcc version greater than or equal to 9
ifdef WANT_WIN_QT
#still in gcc-specific section here
# get the version of g++
GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9)
ifeq "$(GPPGTEQ9)" "1"
#QTCXXFLAGS+=-Wno-format-overflow
CCXXFLAGS+=-Wformat-overflow
endif #g++ version greater than or equal to 9
#QTCXXFLAGS+= -Wno-format-truncation
QTCXXFLAGS+= -Wno-deprecated-copy
endif #WANT_WIN_QT
# end of gcc-specific
else # clang
# clang-specific here
endif # clang
else # clang-specific follows
ifdef WANT_WIN_QT
CCXXFLAGS+=-Wno-deprecated-declarations
endif # WANT_WIN_QT
endif # clang-specific ends here
# enable some optional code in various NetHack source files
CFLAGS+=-DGCC_WARN
CCXXFLAGS+=-DGCC_WARN
#end of compiler.2020
#------------------------------------------------------------------------------

View File

@@ -38,7 +38,7 @@ SYSCFLAGS=-DLUA_USE_POSIX
LINK=g++
CXX=g++ -std=gnu++11
QTCXXFLAGS = $(CFLAGS)
CCXXFLAGS = $(CFLAGS)
WINSRC = $(WINQTSRC)
WINOBJ = $(WINQTOBJ)

View File

@@ -115,14 +115,6 @@ endif # WANT_WIN_X11
ifdef WANT_WIN_QT
# Qt5 requires C++11
LINK = $(CXX)
QTCXXFLAGS += -Wno-deprecated-declarations
ifeq "$(CCISCLANG)" ""
# get the version of g++
GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9)
ifeq "$(GPPGTEQ9)" "1"
QTCXXFLAGS+= -Wno-format-truncation
endif #g++ version greater than or equal to 9
endif #not clang
QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --cflags))
QTCXXFLAGS += -fPIC
WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs)

View File

@@ -120,14 +120,6 @@ endif # WANT_WIN_X11
ifdef WANT_WIN_QT
# Qt5 requires C++11
LINK = $(CXX)
QTCXXFLAGS += -Wno-deprecated-declarations
ifeq "$(CCISCLANG)" ""
# get the version of g++
GPPGTEQ9 := $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 9)
ifeq "$(GPPGTEQ9)" "1"
QTCXXFLAGS+= -Wno-format-truncation
endif #g++ version greater than or equal to 9
endif #not clang
QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --cflags))
WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs)
WINSRC += $(WINQTSRC)