diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-07-09 07:54:32 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-07-09 07:54:32 +0000 |
commit | 2af0d2f2513182f902946c16381ff5ffb36cfc19 (patch) | |
tree | f9b1b0e62c632b6d027c666774e96354f67c9344 /os/common/startup/ARMCMx/compilers/GCC | |
parent | 2cec1789e1291f2ce1c1ebe1b942784e6767ab2b (diff) | |
download | ChibiOS-2af0d2f2513182f902946c16381ff5ffb36cfc19.tar.gz ChibiOS-2af0d2f2513182f902946c16381ff5ffb36cfc19.tar.bz2 ChibiOS-2af0d2f2513182f902946c16381ff5ffb36cfc19.zip |
Clang stuff and a fix.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12151 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os/common/startup/ARMCMx/compilers/GCC')
-rw-r--r-- | os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk | 91 |
1 files changed, 48 insertions, 43 deletions
diff --git a/os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk b/os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk index 77b7434b0..160731bdf 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk +++ b/os/common/startup/ARMCMx/compilers/GCC/mk/rules.mk @@ -79,13 +79,13 @@ OUTFILES := $(BUILDDIR)/$(PROJECT).elf \ $(BUILDDIR)/$(PROJECT).hex \
$(BUILDDIR)/$(PROJECT).bin \
$(BUILDDIR)/$(PROJECT).dmp \
- $(BUILDDIR)/$(PROJECT).list - -ifdef SREC - OUTFILES += $(BUILDDIR)/$(PROJECT).srec -endif - -# Source files groups and paths + $(BUILDDIR)/$(PROJECT).list
+
+ifdef SREC
+ OUTFILES += $(BUILDDIR)/$(PROJECT).srec
+endif
+
+# Source files groups and paths
TCSRC += $(CSRC)
TCPPSRC += $(CPPSRC)
TSRC := $(TCSRC) $(TCPPSRC)
@@ -105,7 +105,6 @@ OBJS := $(ASMXOBJS) $(ASMOBJS) $(ACOBJS) $(TCOBJS) $(ACPPOBJS) $(TCPPOBJS) # Paths
IINCDIR := $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
LLIBDIR := $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
-LLIBDIR += -L$(dir $(LDSCRIPT))
# Macros
DEFS := $(DDEFS) $(UDEFS)
@@ -121,7 +120,13 @@ ASFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEF ASXFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS)
CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS)
-LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(RULESPATH)/ld,--script=$(LDSCRIPT)$(LDOPT)
+LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(STARTUPLD),--script=$(LDSCRIPT)$(LDOPT)
+
+# Always thumb mode
+CFLAGS += -mthumb
+CPPFLAGS += -mthumb
+ASFLAGS += -mthumb
+ASXFLAGS += -mthumb
# Generate dependency information
ASFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
@@ -194,37 +199,37 @@ ifeq ($(USE_VERBOSE_COMPILE),yes) $(CC) -c $(ASXFLAGS) $(TOPT) -I. $(IINCDIR) $< -o $@
else
@echo Compiling $(<F)
- @$(CC) -c $(ASXFLAGS) $(TOPT) -I. $(IINCDIR) $< -o $@ -endif - -$(BUILDDIR)/$(PROJECT).elf: $(OBJS) $(LDSCRIPT) -ifeq ($(USE_VERBOSE_COMPILE),yes) - @echo - $(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@ + @$(CC) -c $(ASXFLAGS) $(TOPT) -I. $(IINCDIR) $< -o $@
+endif
+
+$(BUILDDIR)/$(PROJECT).elf: $(OBJS) $(LDSCRIPT)
+ifeq ($(USE_VERBOSE_COMPILE),yes)
+ @echo
+ $(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
else
@echo Linking $@
- @$(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@ -endif - -%.hex: %.elf -ifeq ($(USE_VERBOSE_COMPILE),yes) - $(HEX) $< $@ -else + @$(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
+endif
+
+%.hex: %.elf
+ifeq ($(USE_VERBOSE_COMPILE),yes)
+ $(HEX) $< $@
+else
@echo Creating $@
- @$(HEX) $< $@ -endif - -%.bin: %.elf -ifeq ($(USE_VERBOSE_COMPILE),yes) - $(BIN) $< $@ -else + @$(HEX) $< $@
+endif
+
+%.bin: %.elf
+ifeq ($(USE_VERBOSE_COMPILE),yes)
+ $(BIN) $< $@
+else
@echo Creating $@
- @$(BIN) $< $@ -endif - + @$(BIN) $< $@
+endif
+
%.srec: %.elf
ifdef SREC
- ifeq ($(USE_VERBOSE_COMPILE),yes) + ifeq ($(USE_VERBOSE_COMPILE),yes)
$(SREC) $< $@
else
@echo Creating $@
@@ -234,19 +239,19 @@ endif %.dmp: %.elf
ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(OD) $(ODFLAGS) $< > $@ - $(SZ) $< + $(OD) $(ODFLAGS) $< > $@
+ $(SZ) $<
else
@echo Creating $@
@$(OD) $(ODFLAGS) $< > $@
@echo
- @$(SZ) $< -endif - -%.list: %.elf -ifeq ($(USE_VERBOSE_COMPILE),yes) - $(OD) -S $< > $@ -else + @$(SZ) $<
+endif
+
+%.list: %.elf
+ifeq ($(USE_VERBOSE_COMPILE),yes)
+ $(OD) -S $< > $@
+else
@echo Creating $@
@$(OD) -S $< > $@
@echo
|