nes-proj/arch/cpu/arm/cortex-m/cm4/Makefile.cm4

29 lines
989 B
Makefile
Raw Normal View History

2017-11-29 14:46:01 +00:00
CONTIKI_ARM_DIRS += cortex-m/cm4
CFLAGS += -mcpu=cortex-m4
2018-08-31 10:15:22 +00:00
LDFLAGS += -mcpu=cortex-m4
LDFLAGS += -T $(LDSCRIPT)
2018-08-03 13:34:20 +00:00
LDFLAGS += -Wl,--gc-sections,--sort-section=alignment
LDFLAGS += -Wl,-Map=$(CONTIKI_NG_PROJECT_MAP),--cref,--no-warn-mismatch
OBJCOPY_FLAGS += --gap-fill 0xff
### Build syscalls for newlib
MODULES += os/lib/newlib
2018-08-03 13:34:20 +00:00
CPU_STARTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CPU_START_SOURCEFILES)}}
2017-11-29 14:46:01 +00:00
### Compilation rules
CUSTOM_RULE_LINK = 1
2018-08-03 13:34:20 +00:00
### Resolve any potential circular dependencies between the linked libraries
### See: https://stackoverflow.com/questions/5651869/gcc-what-are-the-start-group-and-end-group-command-line-options/5651895
2018-08-31 10:15:22 +00:00
TARGET_LIBFLAGS := -Wl,--start-group $(TARGET_LIBFILES) -Wl,--end-group
2018-08-03 13:34:20 +00:00
2018-08-31 10:15:22 +00:00
%.elf: $(CPU_STARTFILES) %.o $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) $(CONTIKI_NG_TARGET_LIB) $(TARGET_LIBS)
2017-11-29 14:46:01 +00:00
$(TRACE_LD)
2018-08-31 10:15:22 +00:00
$(Q)$(LD) $(LDFLAGS) ${filter %.o %.a,$^} $(TARGET_LIBFLAGS) -o $@
2017-11-29 14:46:01 +00:00
include $(CONTIKI)/arch/cpu/arm/cortex-m/Makefile.cortex-m