mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
defs.mk, defs-cpp.mk: Some more reordering of compiler flags
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
be6a2792d4
commit
cb87d2b278
2 changed files with 85 additions and 65 deletions
125
make/defs-cpp.mk
125
make/defs-cpp.mk
|
|
@ -72,28 +72,30 @@ endif
|
||||||
|
|
||||||
ifneq ($(TARGET_TRIPLET),$(HOST_TRIPLET)) # we're cross-compiling
|
ifneq ($(TARGET_TRIPLET),$(HOST_TRIPLET)) # we're cross-compiling
|
||||||
|
|
||||||
TC_BIN_PREFIX = $(TARGET_TRIPLET)-
|
TC_BIN_PREFIX ?= $(TARGET_TRIPLET)-
|
||||||
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)
|
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)
|
||||||
PROJECT_LDFLAGS += -L$(TC_SYS_ROOT)/lib
|
|
||||||
PROJECT_CFLAGS += -I$(TC_SYS_ROOT)/include
|
|
||||||
PROJECT_CPPFLAGS += -I$(TC_SYS_ROOT)/include
|
|
||||||
|
|
||||||
ifeq ($(TARGET),mingw)
|
ifeq ($(TARGET),mingw)
|
||||||
|
|
||||||
ifneq ($(wildcard $(TC_BIN_PREFIX)gcc),)
|
ifneq ($(wildcard $(TC_BIN_PREFIX)gcc),)
|
||||||
PROJECT_CFLAGS += -D_WINDOWS
|
|
||||||
PROJECT_CPPFLAGS += -D_WINDOWS
|
|
||||||
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)/sys-root/mingw
|
|
||||||
CROSS_TOOL_DIR ?=
|
CROSS_TOOL_DIR ?=
|
||||||
|
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)/sys-root/mingw
|
||||||
else
|
else
|
||||||
CROSS_TOOL_DIR ?= /opt/cross-tools
|
CROSS_TOOL_DIR ?= /opt/cross-tools
|
||||||
TC_BIN_PREFIX ?= $(CROSS_TOOL_DIR)/bin/i686-pc-mingw32-
|
TC_BIN_PREFIX ?= $(CROSS_TOOL_DIR)/bin/i686-pc-mingw32-
|
||||||
endif
|
endif
|
||||||
WINDRES ?= $(TC_BIN_PREFIX)windres
|
|
||||||
|
PROJECT_CFLAGS += -D_WINDOWS
|
||||||
|
PROJECT_CPPFLAGS += -D_WINDOWS
|
||||||
BUILD_LDFLAGS += -lws2_32
|
BUILD_LDFLAGS += -lws2_32
|
||||||
|
WINDRES ?= $(TC_BIN_PREFIX)windres
|
||||||
USE_GFILTER ?= false
|
USE_GFILTER ?= false
|
||||||
MS_LD ?= wine $(HOME)/local/mingw/packages/msvcpp/bin/LIB.EXE
|
MS_LD ?= wine $(HOME)/local/mingw/packages/msvcpp/bin/LIB.EXE
|
||||||
endif # ifeq ($(TARGET),mingw)
|
endif
|
||||||
|
|
||||||
|
PROJECT_CFLAGS += -I$(TC_SYS_ROOT)/include
|
||||||
|
PROJECT_CPPFLAGS += -I$(TC_SYS_ROOT)/include
|
||||||
|
PROJECT_LDFLAGS += -L$(TC_SYS_ROOT)/lib
|
||||||
|
|
||||||
else # we're not cross-compiling
|
else # we're not cross-compiling
|
||||||
|
|
||||||
|
|
@ -108,51 +110,70 @@ ifeq ($(TARGET_ARCH),x86_64)
|
||||||
LIBFLAGS +=
|
LIBFLAGS +=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GCC ?= $(TC_BIN_PREFIX)gcc
|
ifeq ($(TARGET_TRIPLET),arm-none-eabi)
|
||||||
GPP ?= $(TC_BIN_PREFIX)g++
|
BUILD_CFLAGS += -mcpu=cortex-m3 -mthumb
|
||||||
CPP ?= $(GPP)
|
BUILD_CPPFLAGS += -mcpu=cortex-m3 -mthumb
|
||||||
LD ?= $(TC_BIN_PREFIX)ld
|
endif
|
||||||
CLANG ?= $(TC_BIN_PREFIX)clang
|
|
||||||
CLANGPP ?= $(TC_BIN_PREFIX)clang++
|
|
||||||
STRIP ?= $(TC_BIN_PREFIX)strip
|
|
||||||
RANLIB ?= $(TC_BIN_PREFIX)ranlib
|
|
||||||
AR ?= $(TC_BIN_PREFIX)ar
|
|
||||||
PKG_CONFIG ?= $(TC_BIN_PREFIX)pkg-config
|
|
||||||
|
|
||||||
# compiler and linker
|
ifeq ($(COMPILER_SUITE),gcc)
|
||||||
# gcc
|
|
||||||
GCC_VERSION := $(shell $(GCC) -v 2>&1 | $(SED) '/gcc.version/I !d; s/.*version *//I; s/ \+.*//')
|
|
||||||
GCC_VERSION_NUMBERS := $(subst ., ,$(GCC_VERSION))
|
|
||||||
GCC_MAJOR := $(word 1,$(GCC_VERSION_NUMBERS))
|
|
||||||
GCC_MINOR := $(word 2,$(GCC_VERSION_NUMBERS))
|
|
||||||
GCC_REV := $(word 3,$(GCC_VERSION_NUMBERS))
|
|
||||||
|
|
||||||
LD_VERSION := $(shell $(LD) -V | $(SED) '/GNU ld/ !d; s/(.*)//; s/[^0-9.-]*//')
|
GCC ?= $(TC_BIN_PREFIX)gcc
|
||||||
LD_VERSION_NUMBERS := $(subst ., ,$(LD_VERSION))
|
GPP ?= $(TC_BIN_PREFIX)g++
|
||||||
LD_MAJOR := $(word 1,$(LD_VERSION_NUMBERS))
|
CPP ?= $(GPP)
|
||||||
LD_MINOR := $(word 2,$(LD_VERSION_NUMBERS))
|
GNU_LD ?= $(TC_BIN_PREFIX)ld
|
||||||
LD_REV := $(word 3,$(LD_VERSION_NUMBERS))
|
CLANG ?= $(TC_BIN_PREFIX)clang
|
||||||
|
CLANGPP ?= $(TC_BIN_PREFIX)clang++
|
||||||
|
STRIP ?= $(TC_BIN_PREFIX)strip
|
||||||
|
RANLIB ?= $(TC_BIN_PREFIX)ranlib
|
||||||
|
AR ?= $(TC_BIN_PREFIX)ar
|
||||||
|
PKG_CONFIG ?= $(TC_BIN_PREFIX)pkg-config
|
||||||
|
|
||||||
# clang
|
# compiler and linker
|
||||||
CLANG_CPPFLAGS += -Wno-unused-private-field -Wno-self-assign-field -Wno-overloaded-virtual
|
# gcc
|
||||||
|
GCC_VERSION := $(shell $(GCC) -v 2>&1 | $(SED) '/gcc.version/I !d; s/.*version *//I; s/ \+.*//')
|
||||||
|
GCC_VERSION_NUMBERS := $(subst ., ,$(GCC_VERSION))
|
||||||
|
GCC_MAJOR := $(word 1,$(GCC_VERSION_NUMBERS))
|
||||||
|
GCC_MINOR := $(word 2,$(GCC_VERSION_NUMBERS))
|
||||||
|
GCC_REV := $(word 3,$(GCC_VERSION_NUMBERS))
|
||||||
|
|
||||||
ifneq ($(GCC_VERSION),4.1.0)
|
# Not needed anywhere
|
||||||
ifneq ($(GCC_VERSION),4.5.1)
|
#GNU_LD_VERSION := $(shell $(LD) -V | $(SED) '/GNU ld/ !d; s/(.*)//; s/[^0-9.-]*//')
|
||||||
BUILD_CFLAGS += -std=gnu99
|
#GNU_LD_VERSION_NUMBERS:= $(subst ., ,$(GNU_LD_VERSION))
|
||||||
BUILD_CPPFLAGS += -std=c++11
|
#GNU_LD_MAJOR := $(word 1,$(GNU_LD_VERSION_NUMBERS))
|
||||||
#BUILD_CPPFLAGS += -Wsuggest-override
|
#GNU_LD_MINOR := $(word 2,$(GNU_LD_VERSION_NUMBERS))
|
||||||
|
#GNU_LD_REV := $(word 3,$(GNU_LD_VERSION_NUMBERS))
|
||||||
|
|
||||||
|
CC = $(GCC)
|
||||||
|
CPP = $(GPP)
|
||||||
|
LD = $(GPP)
|
||||||
|
|
||||||
|
ifneq ($(GCC_VERSION),4.1.0)
|
||||||
|
ifneq ($(GCC_VERSION),4.5.1)
|
||||||
|
BUILD_CFLAGS += -std=gnu11
|
||||||
|
BUILD_CPPFLAGS += -std=c++11
|
||||||
|
#BUILD_CPPFLAGS += -Wsuggest-override
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(shell test $(GCC_MAJOR) -ge 5; echo $$?),0)
|
ifeq ($(shell $(TEST) $(GCC_MAJOR) -ge 5; $(ECHO) $$?),0)
|
||||||
ifeq ($(USE_CPP_FORCE_OVERRIDE),true)
|
ifeq ($(USE_CPP_FORCE_OVERRIDE),true)
|
||||||
GCC_CPPFLAGS += -Werror=suggest-override
|
GCC_CPPFLAGS += -Werror=suggest-override
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_CPP_WARN_INCONSISTENT_OVERRIDE),true)
|
else ifeq ($(COMPILER_SUITE),clang)
|
||||||
CLANG_CPPFLAGS += -Winconsistent-missing-override
|
|
||||||
endif
|
# clang
|
||||||
|
CLANG_CPPFLAGS += -Wno-unused-private-field -Wno-self-assign-field -Wno-overloaded-virtual
|
||||||
|
CC = $(CLANG)
|
||||||
|
CPP = $(CLANGPP)
|
||||||
|
LD = $(CLANGPP)
|
||||||
|
|
||||||
|
ifeq ($(USE_CPP_WARN_INCONSISTENT_OVERRIDE),true)
|
||||||
|
CLANG_CPPFLAGS += -Winconsistent-missing-override
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # COMPILER_SUITE
|
||||||
|
|
||||||
# -- target files and dirs
|
# -- target files and dirs
|
||||||
|
|
||||||
|
|
@ -259,18 +280,6 @@ ifeq ($(USE_GFILTER),true)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(COMPILER_SUITE)" "gcc"
|
|
||||||
CC = $(GCC)
|
|
||||||
CPP = $(GPP)
|
|
||||||
LD = $(GPP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq "$(COMPILER_SUITE)" "clang"
|
|
||||||
CC = $(CLANG)
|
|
||||||
CPP = $(CLANGPP)
|
|
||||||
LD = $(CLANGPP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_PROJECT_LIB),true)
|
ifeq ($(USE_PROJECT_LIB),true)
|
||||||
PROJECTLIB_LDFLAGS += -L$(TOPDIR)/lib -l$(LIBNAME)
|
PROJECTLIB_LDFLAGS += -L$(TOPDIR)/lib -l$(LIBNAME)
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
23
make/defs.mk
23
make/defs.mk
|
|
@ -22,10 +22,18 @@ endif
|
||||||
ifndef GREP
|
ifndef GREP
|
||||||
GREP := $(shell $(WHICH) grep)
|
GREP := $(shell $(WHICH) grep)
|
||||||
endif
|
endif
|
||||||
|
ifndef ECHO
|
||||||
|
ECHO := $(shell $(WHICH) echo)
|
||||||
|
endif
|
||||||
|
ifndef TEST
|
||||||
|
TEST := $(shell $(WHICH) test)
|
||||||
|
endif
|
||||||
ifndef SED
|
ifndef SED
|
||||||
SED := $(shell $(WHICH) sed)
|
SED := $(shell $(WHICH) sed)
|
||||||
endif
|
endif
|
||||||
|
ifndef CAT
|
||||||
CAT := $(shell $(WHICH) cat)
|
CAT := $(shell $(WHICH) cat)
|
||||||
|
endif
|
||||||
ifndef BROWSER
|
ifndef BROWSER
|
||||||
BROWSER := $(shell $(WHICH) xdg-open)
|
BROWSER := $(shell $(WHICH) xdg-open)
|
||||||
endif
|
endif
|
||||||
|
|
@ -135,10 +143,10 @@ endif
|
||||||
|
|
||||||
define install_links
|
define install_links
|
||||||
cwd="$(CWD)"; \
|
cwd="$(CWD)"; \
|
||||||
echo "o in $(INSTALL_$(1)DIR):" ;\
|
$(ECHO) "o in $(INSTALL_$(1)DIR):" ;\
|
||||||
for f in $(notdir $(INSTALLED_$(1))); do \
|
for f in $(notdir $(INSTALLED_$(1))); do \
|
||||||
cd $(INSTALL_$(1)DIR); \
|
cd $(INSTALL_$(1)DIR); \
|
||||||
echo " $(SUDO) ln -sf $$cwd/$$f" ; \
|
$(ECHO) " $(SUDO) ln -sf $$cwd/$$f" ; \
|
||||||
$(SUDO) ln -sf $$cwd/$$f; \
|
$(SUDO) ln -sf $$cwd/$$f; \
|
||||||
done;
|
done;
|
||||||
endef
|
endef
|
||||||
|
|
@ -147,7 +155,7 @@ endef
|
||||||
# ----- standard variables
|
# ----- standard variables
|
||||||
|
|
||||||
ifeq ($(PROJECT),)
|
ifeq ($(PROJECT),)
|
||||||
PROJECT := $(shell echo $(patsubst $(FLAVOUR_PREFIX)%,%,$(notdir $(realpath $(TOPDIR)))) | $(SED) 's/-[0-9].*//')
|
PROJECT := $(shell $(ECHO) $(patsubst $(FLAVOUR_PREFIX)%,%,$(notdir $(realpath $(TOPDIR)))) | $(SED) 's/-[0-9].*//')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(wildcard $(TOPDIR)/.git),)
|
ifneq ($(wildcard $(TOPDIR)/.git),)
|
||||||
|
|
@ -161,6 +169,9 @@ endif
|
||||||
ifndef BUILD_USER
|
ifndef BUILD_USER
|
||||||
BUILD_USER := $(shell $(ID) -un)
|
BUILD_USER := $(shell $(ID) -un)
|
||||||
endif
|
endif
|
||||||
|
ifndef BUILD_GROUP
|
||||||
|
BUILD_GROUP := $(shell $(ID) -gn)
|
||||||
|
endif
|
||||||
JANWARE_USER ?= $(BUILD_USER)
|
JANWARE_USER ?= $(BUILD_USER)
|
||||||
export JANWARE_USER
|
export JANWARE_USER
|
||||||
ifndef FULL_NAME
|
ifndef FULL_NAME
|
||||||
|
|
@ -204,7 +215,7 @@ endif
|
||||||
|
|
||||||
PROJECT_DESCR_FILE ?= $(wildcard $(TOPDIR)/make/project.conf)
|
PROJECT_DESCR_FILE ?= $(wildcard $(TOPDIR)/make/project.conf)
|
||||||
PROJECT_SHORT_NAME ?= $(PROJECT)
|
PROJECT_SHORT_NAME ?= $(PROJECT)
|
||||||
PROJECT_CAPNAME := $(shell echo $(PROJECT) | tr [a-z] [A-Z] | $(SED) 's/-/_/g')
|
PROJECT_CAPNAME := $(shell $(ECHO) $(PROJECT) | tr [a-z] [A-Z] | $(SED) 's/-/_/g')
|
||||||
PROJECT_DESCR ?= $(call proj_query, summary $(PROJECT))
|
PROJECT_DESCR ?= $(call proj_query, summary $(PROJECT))
|
||||||
PROJECT_SUMMARY ?= $(PROJECT_DESCR)
|
PROJECT_SUMMARY ?= $(PROJECT_DESCR)
|
||||||
|
|
||||||
|
|
@ -220,9 +231,9 @@ ifeq ($(VERSION),)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
DIST_VERSION ?= $(patsubst %-dev,%,$(VERSION))
|
DIST_VERSION ?= $(patsubst %-dev,%,$(VERSION))
|
||||||
HEX_VERSION := $(shell echo $(DIST_VERSION) | \
|
HEX_VERSION := $(shell $(ECHO) $(DIST_VERSION) | \
|
||||||
$(SED) 's/-dev//; s/pre[^\.]*//; s/F[^\.]//; s/[\.-]/ /g' | $(XARGS) $(PRINTF) "0x%02x%02x%02x%02x")
|
$(SED) 's/-dev//; s/pre[^\.]*//; s/F[^\.]//; s/[\.-]/ /g' | $(XARGS) $(PRINTF) "0x%02x%02x%02x%02x")
|
||||||
BINARY_VERSION := $(shell echo $(PROJECT)_$(DIST_VERSION) | tr [a-z] [A-Z] | $(SED) 's/-[^-]*$$//; s/-/_/g')
|
BINARY_VERSION := $(shell $(ECHO) $(PROJECT)_$(DIST_VERSION) | tr [a-z] [A-Z] | $(SED) 's/-[^-]*$$//; s/-/_/g')
|
||||||
WINVERSION = $(subst .,_,$(VERSION))
|
WINVERSION = $(subst .,_,$(VERSION))
|
||||||
LOCAL_VERSION = $(VERSION)
|
LOCAL_VERSION = $(VERSION)
|
||||||
LOCAL_WINVERSION = $(subst .,_,$(VERSION))
|
LOCAL_WINVERSION = $(subst .,_,$(VERSION))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue