mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
Makefile.include: Introduce LINKXX variable
This variable can be used to specify the linker which should be used to link C++ object files. This is needed in order to use g++ for linking with TOOLCHAIN=llvm.
This commit is contained in:
parent
18f99ef708
commit
55b026b349
@ -310,7 +310,7 @@ LINKFLAGPREFIX ?= -Wl,
|
||||
|
||||
DIRS += $(EXTERNAL_MODULE_DIRS)
|
||||
|
||||
_LINK = $(if $(CPPMIX),$(CXX),$(LINK)) $(UNDEF) $(LINKFLAGPREFIX)--start-group $(BASELIBS) -lm $(LINKFLAGPREFIX)--end-group $(LINKFLAGPREFIX)-Map=$(BINDIR)/$(APPLICATION).map $(LINKFLAGS)
|
||||
_LINK = $(if $(CPPMIX),$(LINKXX),$(LINK)) $(UNDEF) $(LINKFLAGPREFIX)--start-group $(BASELIBS) -lm $(LINKFLAGPREFIX)--end-group $(LINKFLAGPREFIX)-Map=$(BINDIR)/$(APPLICATION).map $(LINKFLAGS)
|
||||
|
||||
ifeq ($(BUILD_IN_DOCKER),1)
|
||||
link: ..in-docker-container
|
||||
@ -320,7 +320,7 @@ link: ..compiler-check ..build-message $(RIOTBUILD_CONFIG_HEADER_C) $(USEPKG:%=$
|
||||
$(Q)DIRS="$(DIRS)" "$(MAKE)" -C $(APPDIR) -f $(RIOTMAKE)/application.inc.mk
|
||||
ifeq (,$(RIOTNOLINK))
|
||||
ifeq ($(BUILDOSXNATIVE),1)
|
||||
$(Q)$(if $(CPPMIX),$(CXX),$(LINK)) $(UNDEF) -o $(ELFFILE) $$(find $(BASELIBS) -size +8c) $(LINKFLAGS) $(LINKFLAGPREFIX)-no_pie
|
||||
$(Q)$(if $(CPPMIX),$(LINKXX),$(LINK)) $(UNDEF) -o $(ELFFILE) $$(find $(BASELIBS) -size +8c) $(LINKFLAGS) $(LINKFLAGPREFIX)-no_pie
|
||||
else
|
||||
$(Q)$(_LINK) -o $(ELFFILE)
|
||||
endif
|
||||
|
@ -8,6 +8,7 @@ export AR = $(PREFIX)ar
|
||||
endif
|
||||
export AS = $(PREFIX)as
|
||||
export LINK = $(PREFIX)gcc
|
||||
export LINKXX = $(PREFIX)g++
|
||||
export SIZE = $(PREFIX)size
|
||||
export OBJCOPY ?= $(shell command -v $(PREFIX)objcopy gobjcopy objcopy | head -n 1)
|
||||
ifeq ($(OBJCOPY),)
|
||||
|
@ -17,6 +17,7 @@ export NM = $(LLVMPREFIX)nm
|
||||
# `makefiles/libc/newlib.mk` are not supported. Therefore
|
||||
# we just use GCC for now.
|
||||
export LINK = $(PREFIX)gcc
|
||||
export LINKXX = $(PREFIX)g++
|
||||
# objcopy does not have a clear substitute in LLVM, use GNU binutils
|
||||
#export OBJCOPY = $(LLVMPREFIX)objcopy
|
||||
export OBJCOPY ?= $(shell command -v $(PREFIX)objcopy gobjcopy objcopy | head -n 1)
|
||||
|
Loading…
Reference in New Issue
Block a user