makefile-engine: split C and C++ flags.
Gets rid of the annoying: "cc1: warning: command-line option '-Wno-ctor-dtor-privacy' is valid for C++/ObjC++ but not for C". Change-Id: Ic72506277af56365cfe52513e1118584bf338ac9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/10163 Tested-by: Commit checker robot <[email protected]> Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
41f7e3c29a
commit
3a9d48c77c
@@ -38,11 +38,13 @@ RESCOMP := rc
|
|||||||
CC := $(CC)
|
CC := $(CC)
|
||||||
C++ := $(CXX)
|
C++ := $(CXX)
|
||||||
|
|
||||||
# Set up CFLAGS.
|
# Set up CFLAGS/CXXFLAGS.
|
||||||
ifeq ($(strip $(TYPE)), DRIVER)
|
ifeq ($(strip $(TYPE)), DRIVER)
|
||||||
CFLAGS += -D_KERNEL_MODE=1
|
CFLAGS += -D_KERNEL_MODE=1
|
||||||
|
CXXFLAGS += -D_KERNEL_MODE=1
|
||||||
else
|
else
|
||||||
CFLAGS +=
|
CFLAGS +=
|
||||||
|
CXXFLAGS +=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Set up optimization flags.
|
# Set up optimization flags.
|
||||||
@@ -67,13 +69,16 @@ ifeq ($(strip $(DEBUGGER)), TRUE)
|
|||||||
OPTIMIZER = -O0
|
OPTIMIZER = -O0
|
||||||
endif
|
endif
|
||||||
CFLAGS += $(OPTIMIZER) $(DEBUG)
|
CFLAGS += $(OPTIMIZER) $(DEBUG)
|
||||||
|
CXXFLAGS += $(OPTIMIZER) $(DEBUG)
|
||||||
|
|
||||||
# Set up the warning flags.
|
# Set up the warning flags.
|
||||||
ifeq ($(strip $(WARNINGS)), ALL)
|
ifeq ($(strip $(WARNINGS)), ALL)
|
||||||
CFLAGS += -Wall -Wno-multichar -Wno-ctor-dtor-privacy
|
CFLAGS += -Wall -Wno-multichar
|
||||||
|
CXXFLAGS += -Wall -Wno-multichar -Wno-ctor-dtor-privacy
|
||||||
else
|
else
|
||||||
ifeq ($(strip $(WARNINGS)), NONE)
|
ifeq ($(strip $(WARNINGS)), NONE)
|
||||||
CFLAGS += -w
|
CFLAGS += -w
|
||||||
|
CXXFLAGS += -w
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -176,9 +181,11 @@ LDFLAGS += $(LINK_PATHS) $(LINK_LIBS)
|
|||||||
|
|
||||||
# Add the defines to CFLAGS.
|
# Add the defines to CFLAGS.
|
||||||
CFLAGS += $(foreach define, $(DEFINES), $(addprefix -D, $(define)))
|
CFLAGS += $(foreach define, $(DEFINES), $(addprefix -D, $(define)))
|
||||||
|
CXXFLAGS += $(foreach define, $(DEFINES), $(addprefix -D, $(define)))
|
||||||
|
|
||||||
# Add the additional compiler flags to CFLAGS.
|
# Add the additional compiler flags to CFLAGS.
|
||||||
CFLAGS += $(COMPILER_FLAGS)
|
CFLAGS += $(COMPILER_FLAGS)
|
||||||
|
CXXFLAGS += $(COMPILER_FLAGS)
|
||||||
|
|
||||||
# Add the additional linkflags to LDFLAGS
|
# Add the additional linkflags to LDFLAGS
|
||||||
LDFLAGS += $(LINKER_FLAGS)
|
LDFLAGS += $(LINKER_FLAGS)
|
||||||
@@ -288,21 +295,21 @@ $(OBJ_DIR)/%.d : %.CXX
|
|||||||
$(OBJ_DIR)/%.o : %.c
|
$(OBJ_DIR)/%.o : %.c
|
||||||
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.cpp
|
$(OBJ_DIR)/%.o : %.cpp
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.cp
|
$(OBJ_DIR)/%.o : %.cp
|
||||||
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(CC) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.cc
|
$(OBJ_DIR)/%.o : %.cc
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.cxx
|
$(OBJ_DIR)/%.o : %.cxx
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.C
|
$(OBJ_DIR)/%.o : %.C
|
||||||
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(CC) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.CC
|
$(OBJ_DIR)/%.o : %.CC
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.CPP
|
$(OBJ_DIR)/%.o : %.CPP
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
$(OBJ_DIR)/%.o : %.CXX
|
$(OBJ_DIR)/%.o : %.CXX
|
||||||
$(C++) -c $< $(INCLUDES) $(CFLAGS) -o "$@"
|
$(C++) -c $< $(INCLUDES) $(CXXFLAGS) -o "$@"
|
||||||
|
|
||||||
# Rules to compile the resource definition files.
|
# Rules to compile the resource definition files.
|
||||||
$(OBJ_DIR)/%.rsrc : %.rdef
|
$(OBJ_DIR)/%.rsrc : %.rdef
|
||||||
|
|||||||
Reference in New Issue
Block a user