|
|
|
@ -25,9 +25,9 @@ override RIOTBOARD := $(abspath $(RIOTBOARD))
|
|
|
|
|
override RIOTPKG := $(abspath $(RIOTPKG)) |
|
|
|
|
override RIOTPROJECT := $(abspath $(RIOTPROJECT)) |
|
|
|
|
override GITCACHE := $(abspath $(GITCACHE)) |
|
|
|
|
override APPDIR := $(abspath $(APPDIR))/ |
|
|
|
|
override APPDIR := $(abspath $(APPDIR)) |
|
|
|
|
override BINDIRBASE := $(abspath $(BINDIRBASE)) |
|
|
|
|
override BINDIR := $(abspath $(BINDIR))/ |
|
|
|
|
override BINDIR := $(abspath $(BINDIR)) |
|
|
|
|
|
|
|
|
|
# Ensure that all directories are set and don't contain spaces.
|
|
|
|
|
ifneq (, $(filter-out 1, $(foreach v,${__DIRECTORY_VARIABLES},$(words ${${v}})))) |
|
|
|
@ -50,7 +50,7 @@ include $(RIOTBASE)/Makefile.docker
|
|
|
|
|
# Static code analysis tools provided by LLVM
|
|
|
|
|
include $(RIOTBASE)/Makefile.scan-build |
|
|
|
|
|
|
|
|
|
export RIOTBUILD_CONFIG_HEADER_C = $(BINDIR)riotbuild/riotbuild.h
|
|
|
|
|
export RIOTBUILD_CONFIG_HEADER_C = $(BINDIR)/riotbuild/riotbuild.h
|
|
|
|
|
|
|
|
|
|
COLOR_GREEN :=
|
|
|
|
|
COLOR_RED :=
|
|
|
|
@ -213,8 +213,8 @@ CFLAGS += -DCPU_$(CPUDEF)=\"$(CPU)\" -DRIOT_CPU=CPU_$(CPUDEF)
|
|
|
|
|
CFLAGS += -DMCU_$(MCUDEF)=\"$(MCU)\" -DRIOT_MCU=MCU_$(MCUDEF)
|
|
|
|
|
|
|
|
|
|
# OSX fails to create empty archives. Provide a wrapper to catch that error.
|
|
|
|
|
ifneq (0, $(shell mkdir -p $(BINDIR); $(AR) rc $(BINDIR)empty-archive.a 2> /dev/null; \
|
|
|
|
|
echo $$?; rm -f $(BINDIR)empty-archive.a 2>&1 > /dev/null))
|
|
|
|
|
ifneq (0, $(shell mkdir -p $(BINDIR); $(AR) rc $(BINDIR)/empty-archive.a 2> /dev/null; \
|
|
|
|
|
echo $$?; rm -f $(BINDIR)/empty-archive.a 2>&1 > /dev/null))
|
|
|
|
|
AR := $(RIOTBASE)/dist/ar-wrapper $(AR)
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
@ -237,13 +237,13 @@ ifeq ($(origin RIOT_VERSION), undefined)
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
# the binaries to link
|
|
|
|
|
BASELIBS += $(BINDIR)${APPLICATION}.a
|
|
|
|
|
BASELIBS += $(BINDIR)/${APPLICATION}.a
|
|
|
|
|
BASELIBS += $(APPDEPS)
|
|
|
|
|
|
|
|
|
|
.PHONY: all clean flash term doc debug debug-server reset objdump help info-modules |
|
|
|
|
.PHONY: ..in-docker-container |
|
|
|
|
|
|
|
|
|
ELFFILE ?= $(BINDIR)$(APPLICATION).elf
|
|
|
|
|
ELFFILE ?= $(BINDIR)/$(APPLICATION).elf
|
|
|
|
|
HEXFILE ?= $(ELFFILE:.elf=.hex)
|
|
|
|
|
|
|
|
|
|
# variables used to compile and link c++
|
|
|
|
@ -258,13 +258,13 @@ ifeq ($(BUILD_IN_DOCKER),1)
|
|
|
|
|
all: ..in-docker-container |
|
|
|
|
else |
|
|
|
|
## make script for your application. Build RIOT-base here!
|
|
|
|
|
all: ..compiler-check ..build-message $(RIOTBUILD_CONFIG_HEADER_C) $(USEPKG:%=${BINDIR}%.a) $(APPDEPS) |
|
|
|
|
all: ..compiler-check ..build-message $(RIOTBUILD_CONFIG_HEADER_C) $(USEPKG:%=${BINDIR}/%.a) $(APPDEPS) |
|
|
|
|
$(AD)DIRS="$(DIRS)" "$(MAKE)" -C $(APPDIR) -f $(RIOTBASE)/Makefile.application
|
|
|
|
|
ifeq (,$(RIOTNOLINK)) |
|
|
|
|
ifeq ($(BUILDOSXNATIVE),1) |
|
|
|
|
$(AD)$(if $(CPPMIX),$(CXX),$(LINK)) $(UNDEF) -o $(ELFFILE) $$(find $(BASELIBS) -size +8c) $(LINKFLAGS) $(LINKFLAGPREFIX)-no_pie
|
|
|
|
|
else |
|
|
|
|
$(AD)$(if $(CPPMIX),$(CXX),$(LINK)) $(UNDEF) -o $(ELFFILE) $(LINKFLAGPREFIX)--start-group $(BASELIBS) -lm $(LINKFLAGPREFIX)--end-group $(LINKFLAGPREFIX)-Map=$(BINDIR)$(APPLICATION).map $(LINKFLAGPREFIX)--cref $(LINKFLAGS)
|
|
|
|
|
$(AD)$(if $(CPPMIX),$(CXX),$(LINK)) $(UNDEF) -o $(ELFFILE) $(LINKFLAGPREFIX)--start-group $(BASELIBS) -lm $(LINKFLAGPREFIX)--end-group $(LINKFLAGPREFIX)-Map=$(BINDIR)/$(APPLICATION).map $(LINKFLAGPREFIX)--cref $(LINKFLAGS)
|
|
|
|
|
endif |
|
|
|
|
$(AD)$(SIZE) $(ELFFILE)
|
|
|
|
|
$(AD)$(OBJCOPY) $(OFLAGS) $(ELFFILE) $(HEXFILE)
|
|
|
|
@ -303,10 +303,10 @@ USEMODULE_INCLUDES_ = $(shell echo $(USEMODULE_INCLUDES) | tr ' ' '\n' | awk '!a
|
|
|
|
|
|
|
|
|
|
INCLUDES += $(USEMODULE_INCLUDES_:%=-I%)
|
|
|
|
|
|
|
|
|
|
.PHONY: $(USEPKG:%=${BINDIR}%.a) |
|
|
|
|
$(USEPKG:%=${BINDIR}%.a): $(RIOTBUILD_CONFIG_HEADER_C) |
|
|
|
|
.PHONY: $(USEPKG:%=${BINDIR}/%.a) |
|
|
|
|
$(USEPKG:%=${BINDIR}/%.a): $(RIOTBUILD_CONFIG_HEADER_C) |
|
|
|
|
@mkdir -p ${BINDIR}
|
|
|
|
|
"$(MAKE)" -C $(RIOTPKG)/$(patsubst ${BINDIR}%.a,%,$@)
|
|
|
|
|
"$(MAKE)" -C $(RIOTPKG)/$(patsubst ${BINDIR}/%.a,%,$@)
|
|
|
|
|
|
|
|
|
|
clean: |
|
|
|
|
-@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTPKG)/$$i clean ; done
|
|
|
|
@ -469,12 +469,12 @@ else # RIOT_VERSION
|
|
|
|
|
clean:
|
|
|
|
|
-$(AD)rm -rf $(BINDIR)
|
|
|
|
|
|
|
|
|
|
$(BINDIR)riot-version/$(NUM_RIOT_VERSION)/Makefile.include:
|
|
|
|
|
$(BINDIR)/riot-version/$(NUM_RIOT_VERSION)/Makefile.include:
|
|
|
|
|
$(AD)rm -rf $(@D)
|
|
|
|
|
$(AD)mkdir -p $(@D)
|
|
|
|
|
$(AD)cd $(RIOTBASE) && git archive --format=tar $(NUM_RIOT_VERSION) | ( cd $(@D) && tar x 1>&2 )
|
|
|
|
|
|
|
|
|
|
..delegate: $(BINDIR)riot-version/$(NUM_RIOT_VERSION)/Makefile.include
|
|
|
|
|
..delegate: $(BINDIR)/riot-version/$(NUM_RIOT_VERSION)/Makefile.include
|
|
|
|
|
@$(COLOR_ECHO) '$(COLOR_GREEN)Using RIOT_VERSION=${NUM_RIOT_VERSION}$(COLOR_RESET)' 1>&2
|
|
|
|
|
@$(COLOR_ECHO)
|
|
|
|
|
$(MAKE) RIOTBASE=$(<D) $(filter-out clean, ${MAKECMDGOALS})
|
|
|
|
|