LLVM-related.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15674 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
e0d0d5bee1
commit
76cb8defd5
|
@ -2,17 +2,18 @@
|
||||||
# Compiler settings
|
# Compiler settings
|
||||||
#
|
#
|
||||||
|
|
||||||
TRGT = aarch32-
|
TRGT = llvm-
|
||||||
CC = clang
|
CC = clang
|
||||||
CPPC = clang++
|
GCC_CC = arm-none-eabi-gcc
|
||||||
LD = clang
|
CPPC = clang++
|
||||||
CP = $(TRGT)objcopy
|
LD = $(GCC_CC)
|
||||||
AS = $(TRGT)as -x assembler-with-cpp
|
CP = $(TRGT)objcopy
|
||||||
AR = $(TRGT)ar
|
AS = $(TRGT)as -x assembler-with-cpp
|
||||||
OD = $(TRGT)objdump
|
AR = $(TRGT)ar
|
||||||
SZ = $(TRGT)size
|
OD = $(TRGT)objdump
|
||||||
HEX = $(CP) -O ihex
|
SZ = $(TRGT)size
|
||||||
BIN = $(CP) -O binary
|
HEX = $(CP) -O ihex
|
||||||
|
BIN = $(CP) -O binary
|
||||||
|
|
||||||
#
|
#
|
||||||
# Compiler settings
|
# Compiler settings
|
||||||
|
|
|
@ -98,14 +98,13 @@ LSTDIR := $(BUILDDIR)/lst
|
||||||
|
|
||||||
# Object files groups
|
# Object files groups
|
||||||
TCOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCSRC:.c=.o)))
|
TCOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCSRC:.c=.o)))
|
||||||
TCPPOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCPPSRC:.cpp=.o)))
|
#TCPPOBJS := $(addprefix $(OBJDIR)/, $(notdir $(TCPPSRC:.cpp=.o)))
|
||||||
|
TCPPOBJS := $(addprefix $(OBJDIR)/, $(notdir $(patsubst %.cpp, %.o, $(filter %.cpp, $(TCPPSRC)))))
|
||||||
|
TCCOBJS := $(addprefix $(OBJDIR)/, $(notdir $(patsubst %.cc, %.o, $(filter %.cc, $(TCPPSRC)))))
|
||||||
ASMOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
|
ASMOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
|
||||||
ASMXOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
|
ASMXOBJS := $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
|
||||||
OBJS := $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS)
|
#OBJS := $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS)
|
||||||
|
OBJS := $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS) $(TCCOBJS)
|
||||||
# Paths
|
|
||||||
IINCDIR := $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
|
|
||||||
LLIBDIR := $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
|
|
||||||
|
|
||||||
# Macros
|
# Macros
|
||||||
DEFS := $(DDEFS) $(UDEFS)
|
DEFS := $(DDEFS) $(UDEFS)
|
||||||
|
@ -121,11 +120,18 @@ ASFLAGS = $(MCFLAGS) $(OPT) $(ADEFS)
|
||||||
ASXFLAGS = $(MCFLAGS) $(OPT) $(ADEFS)
|
ASXFLAGS = $(MCFLAGS) $(OPT) $(ADEFS)
|
||||||
CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) $(DEFS)
|
CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) $(DEFS)
|
||||||
CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) $(DEFS)
|
CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) $(DEFS)
|
||||||
#ASFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS)
|
|
||||||
#ASXFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
|
ARM_CORTEXM_SYSROOT := \
|
||||||
#CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS)
|
$(shell $(GCC_CC) $(CFLAGS) -print-sysroot 2>&1)
|
||||||
#CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS)
|
ARM_CORTEXM_MULTI_DIR := \
|
||||||
LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(STARTUPLD),--script=$(LDSCRIPT)$(LDOPT)
|
$(shell $(GCC_CC) $(CFLAGS) -print-multi-directory 2>&1)
|
||||||
|
ARM_CORTEXM_BUILTINS := \
|
||||||
|
$(shell $(GCC_CC) $(CFLAGS) -print-libgcc-file-name 2>&1)
|
||||||
|
|
||||||
|
ASFLAGS += --target=arm-none-eabi --sysroot=$(ARM_CORTEXM_SYSROOT)
|
||||||
|
ASXFLAGS += --target=arm-none-eabi --sysroot=$(ARM_CORTEXM_SYSROOT)
|
||||||
|
CFLAGS += --target=arm-none-eabi --sysroot=$(ARM_CORTEXM_SYSROOT)
|
||||||
|
CPPFLAGS += --target=arm-none-eabi --sysroot=$(ARM_CORTEXM_SYSROOT)
|
||||||
|
|
||||||
# Generate dependency information
|
# Generate dependency information
|
||||||
ASFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
ASFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
||||||
|
@ -133,6 +139,11 @@ ASXFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
||||||
CFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
CFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
||||||
CPPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
CPPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
|
||||||
|
|
||||||
|
# Paths
|
||||||
|
IINCDIR := $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
|
||||||
|
LLIBDIR := $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR) $(ARM_CORTEXM_SYSROOT)/lib/$(ARM_CORTEXM_MULTI_DIR))
|
||||||
|
LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) $(ARM_CORTEXM_BUILTINS) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(STARTUPLD),--script=$(LDSCRIPT)$(LDOPT)
|
||||||
|
|
||||||
# Paths where to search for sources
|
# Paths where to search for sources
|
||||||
VPATH = $(SRCPATHS)
|
VPATH = $(SRCPATHS)
|
||||||
|
|
||||||
|
@ -174,6 +185,15 @@ else
|
||||||
@$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
|
@$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(TCCOBJS) : $(OBJDIR)/%.o : %.cc $(MAKEFILE_LIST)
|
||||||
|
ifeq ($(USE_VERBOSE_COMPILE),yes)
|
||||||
|
@echo
|
||||||
|
$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
|
||||||
|
else
|
||||||
|
@echo Compiling $(<F)
|
||||||
|
@$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
|
||||||
|
endif
|
||||||
|
|
||||||
$(TCOBJS) : $(OBJDIR)/%.o : %.c $(MAKEFILE_LIST)
|
$(TCOBJS) : $(OBJDIR)/%.o : %.c $(MAKEFILE_LIST)
|
||||||
ifeq ($(USE_VERBOSE_COMPILE),yes)
|
ifeq ($(USE_VERBOSE_COMPILE),yes)
|
||||||
@echo
|
@echo
|
||||||
|
|
|
@ -74,6 +74,7 @@
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
|
|
||||||
*** Next ***
|
*** Next ***
|
||||||
|
- NEW: Non-proprietary LLVM build support.
|
||||||
- NEW: Added palReadGroupLatch() to PAL driver.
|
- NEW: Added palReadGroupLatch() to PAL driver.
|
||||||
- NEW: Added a Posix-favored shell named "msh" (Mini Shell). The shell is able
|
- NEW: Added a Posix-favored shell named "msh" (Mini Shell). The shell is able
|
||||||
to run sub-apps inside the same sandbox. The shell can either be placed
|
to run sub-apps inside the same sandbox. The shell can either be placed
|
||||||
|
|
Loading…
Reference in New Issue