diff --git a/Makefile.buildtests b/Makefile.buildtests index 982e4fc91d..bcd790976a 100644 --- a/Makefile.buildtests +++ b/Makefile.buildtests @@ -38,18 +38,18 @@ buildtest: @ \ BUILDTESTOK=true; \ APP_RETRY=0; \ - rm -rf "$$BINDIRBASE"; \ for BOARD in $$($(MAKE) -s info-boards-supported); do \ RIOTNOLINK=$$(echo $(BOARD_INSUFFICIENT_MEMORY) | grep $${BOARD} 2>&1 >/dev/null && echo 1); \ ${COLOR_ECHO} -n "Building for $${BOARD} "; \ [ -n "$${RIOTNOLINK}" ] && ${COLOR_ECHO} -n "(no linking) "; \ for NTH_TRY in 1 2 3; do \ ${COLOR_ECHO} -n ".. "; \ + if [ "$$NTH_TRY" != "3" ]; then export _CCACHE=$$CCACHE; else export _CCACHE=""; fi ; \ LOG=$$(env -i \ HOME=$${HOME} \ PATH=$${PATH} \ BOARD=$${BOARD} \ - CCACHE=$${CCACHE} \ + CCACHE=$${_CCACHE} \ $${CCACHE_DIR:+CCACHE_DIR=$${CCACHE_DIR}} \ CCACHE_BASEDIR=$${CCACHE_BASEDIR} \ RIOTBASE=$${RIOTBASE} \ @@ -62,7 +62,7 @@ buildtest: WERROR=$${WERROR} \ LTO=$${LTO} \ TOOLCHAIN=$${TOOLCHAIN} \ - $(MAKE) -j$(NPROC) -B 2>&1) ; \ + $(MAKE) -j$(NPROC) clean all 2>&1) ; \ if [ "$${?}" = "0" ]; then \ ${COLOR_ECHO} "${COLOR_GREEN}success${COLOR_RESET}"; \ if [ -n "$${BUILDTEST_VERBOSE}" ]; then \ diff --git a/pkg/micro-ecc/Makefile b/pkg/micro-ecc/Makefile index 4dfe2d2e2e..cc4634f712 100644 --- a/pkg/micro-ecc/Makefile +++ b/pkg/micro-ecc/Makefile @@ -1,6 +1,8 @@ PKG_NAME=micro-ecc PKG_URL=https://github.com/kmackay/micro-ecc.git PKG_VERSION=f3d46f0fb77b42535168a17b4b51802beb124a32 +PKG_DIR=$(CURDIR) +PKG_BUILDDIR=$(BINDIR)/pkg/$(PKG_NAME) ifneq ($(RIOTBOARD),) include $(RIOTBOARD)/$(BOARD)/Makefile.include @@ -16,28 +18,26 @@ MODULE:=$(shell basename $(CURDIR)) .PHONY: all clean patch reset all: patch - make -C $(CURDIR)/$(PKG_NAME) + make -C $(PKG_BUILDDIR) make $(BINDIR)$(MODULE).a -patch: $(CURDIR)/$(PKG_NAME)/Makefile +patch: $(PKG_BUILDDIR)/Makefile -$(CURDIR)/$(PKG_NAME)/Makefile: $(CURDIR)/$(PKG_NAME) - $(foreach patch,$(shell ls [0-9][0-9][0-9][0-9]*.patch),cd "$<" && git am "../$(patch)" || { git am --abort; exit 1; };) - touch $(CURDIR)/$(PKG_NAME)/Makefile +$(PKG_BUILDDIR)/Makefile: $(PKG_BUILDDIR) + cd $(PKG_BUILDDIR) && \ + for patch in $(PKG_DIR)/[0-9][0-9][0-9][0-9]*.patch; do git am "$${patch}" || { git am --abort; exit 1; }; done + touch $(PKG_BUILDDIR)/Makefile -$(CURDIR)/$(PKG_NAME): - test -d $(PKG_NAME) || \ +$(PKG_BUILDDIR): + mkdir -p $(BINDIR)/pkg && \ git clone $(PKG_URL) $@ && \ cd $@ && git reset --hard $(PKG_VERSION) clean:: - # Reset package to checkout state. - cd $(CURDIR)/$(PKG_NAME) || true && \ - git clean -x -f && \ - git reset --hard $(PKG_VERSION) + rm -Rf $(PKG_BUILDDIR) distclean:: - rm -rf $(CURDIR)/$(PKG_NAME) + rm -rf $(PKG_BUILDDIR) #$(BINDIR)$(MODULE).a: $(BINDIR)micro-ecc_*.a # mkdir -p $(BINDIR)$(MODULE); cd $(BINDIR)$(MODULE); for var in $?; do ar -x $$var; done; ar -r -c -s $(BINDIR)$(MODULE).a *.o diff --git a/pkg/micro-ecc/Makefile.include b/pkg/micro-ecc/Makefile.include index 2bdc475905..8f4031d449 100644 --- a/pkg/micro-ecc/Makefile.include +++ b/pkg/micro-ecc/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(RIOTPKG)/micro-ecc/micro-ecc +INCLUDES += -I$(BINDIR)/pkg/micro-ecc