mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-28 22:37:18 +00:00
Correct makefile.rules to use arm/aarch64 target specific AR and OBJCOPY
Differential revision: https://reviews.llvm.org/D20386 llvm-svn: 278947
This commit is contained in:
parent
721c7cba84
commit
a6583c5d89
@ -265,7 +265,33 @@ cxx_linker_notdir = $(if $(findstring clang,$(1)), \
|
||||
$(subst cc,c++,$(1))))))
|
||||
cxx_linker = $(if $(findstring /,$(1)),$(join $(dir $(1)), $(call cxx_linker_notdir,$(notdir $(1)))),$(call cxx_linker_notdir,$(1)))
|
||||
|
||||
OBJCOPY := $(CROSS_COMPILE)objcopy
|
||||
ifneq "$(OS)" "Darwin"
|
||||
CLANG_OR_GCC := $(strip $(if $(findstring clang,$(CC)), \
|
||||
$(findstring clang,$(CC)), \
|
||||
$(if $(findstring gcc,$(CC)), \
|
||||
$(findstring gcc,$(CC)), \
|
||||
cc)))
|
||||
|
||||
CC_LASTWORD := $(strip $(lastword $(subst -, ,$(CC))))
|
||||
|
||||
replace_with = $(strip $(if $(findstring $(3),$(CC_LASTWORD)), \
|
||||
$(subst $(3),$(1),$(2)), \
|
||||
$(subst $(3),$(1),$(subst -$(CC_LASTWORD),,$(2)))))
|
||||
|
||||
ifeq "$(notdir $(CC))" "$(CC)"
|
||||
replace_cc_with = $(call replace_with,$(1),$(CC),$(CLANG_OR_GCC))
|
||||
else
|
||||
replace_cc_with = $(join $(dir $(CC)),$(call replace_with,$(1),$(notdir $(CC)),$(CLANG_OR_GCC)))
|
||||
endif
|
||||
|
||||
OBJCOPY ?= $(call replace_cc_with,objcopy)
|
||||
ARCHIVER ?= $(call replace_cc_with,ar)
|
||||
override AR = $(ARCHIVER)
|
||||
endif
|
||||
|
||||
ifdef PIE
|
||||
LDFLAGS += -pie
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Windows specific options
|
||||
@ -284,27 +310,6 @@ ifeq "$(OS)" "Windows_NT"
|
||||
endif
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Android specific options
|
||||
#----------------------------------------------------------------------
|
||||
ifeq "$(OS)" "Android"
|
||||
ifdef PIE
|
||||
LDFLAGS += -pie
|
||||
endif
|
||||
replace_with = $(if $(findstring clang,$(1)), \
|
||||
$(subst clang,$(2),$(1)), \
|
||||
$(if $(findstring gcc,$(1)), \
|
||||
$(subst gcc,$(2),$(1)), \
|
||||
$(subst cc,$(2),$(1))))
|
||||
ifeq "$(notdir $(CC))" "$(CC)"
|
||||
replace_cc_with = $(call replace_with,$(CC),$(1))
|
||||
else
|
||||
replace_cc_with = $(join $(dir $(CC)),$(call replace_with,$(notdir $(CC)),$(1)))
|
||||
endif
|
||||
OBJCOPY = $(call replace_cc_with,objcopy)
|
||||
AR = $(call replace_cc_with,ar)
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# C++ standard library options
|
||||
#----------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user