diff --git a/Makefile.include b/Makefile.include index 6aeae38585..77f021992d 100644 --- a/Makefile.include +++ b/Makefile.include @@ -14,8 +14,9 @@ GITCACHE ?= $(RIOTBASE)/dist/tools/git/git-cache APPDIR ?= $(CURDIR) BINDIRBASE ?= $(APPDIR)/bin BINDIR ?= $(BINDIRBASE)/$(BOARD) +PKGDIRBASE ?= $(BINDIRBASE)/pkg/$(BOARD) -__DIRECTORY_VARIABLES := RIOTBASE CCACHE_BASEDIR RIOTCPU RIOTBOARD RIOTPKG GITCACHE RIOTPROJECT APPDIR BINDIRBASE BINDIR +__DIRECTORY_VARIABLES := RIOTBASE CCACHE_BASEDIR RIOTCPU RIOTBOARD RIOTPKG GITCACHE RIOTPROJECT APPDIR BINDIRBASE BINDIR PKGDIRBASE # Make all paths absolute. override RIOTBASE := $(abspath $(RIOTBASE)) @@ -28,6 +29,7 @@ override GITCACHE := $(abspath $(GITCACHE)) override APPDIR := $(abspath $(APPDIR)) override BINDIRBASE := $(abspath $(BINDIRBASE)) override BINDIR := $(abspath $(BINDIR)) +override PKGDIRBASE := $(abspath $(PKGDIRBASE)) # Ensure that all directories are set and don't contain spaces. ifneq (, $(filter-out 1, $(foreach v,${__DIRECTORY_VARIABLES},$(words ${${v}})))) diff --git a/Makefile.vars b/Makefile.vars index 39e3abf092..e71f2f09c0 100644 --- a/Makefile.vars +++ b/Makefile.vars @@ -22,6 +22,7 @@ export RIOTPROJECT # Top level git root of the project being built, or export BINDIRBASE # This is the folder where the application should be built in. For each BOARD a different subfolder is used. export BINDIR # This is the folder where the application should be built in. export APPDIR # The base folder containing the application +export PKGDIRBASE # The base folder for building packages export TARGET_ARCH # The target platform name, in GCC triple notation, e.g. "arm-none-eabi", "i686-elf", "avr" export PREFIX # The prefix of the toolchain commands, usually "$(TARGET_ARCH)-", e.g. "arm-none-eabi-" or "msp430-". diff --git a/pkg/aversiveplusplus/Makefile.include b/pkg/aversiveplusplus/Makefile.include index e0767c5408..02ddd4689c 100644 --- a/pkg/aversiveplusplus/Makefile.include +++ b/pkg/aversiveplusplus/Makefile.include @@ -1,4 +1,4 @@ -AVERSIVEPLUSPLUS_MODULES_DIR = $(BINDIRBASE)/pkg/$(BOARD)/aversiveplusplus/modules +AVERSIVEPLUSPLUS_MODULES_DIR = $(PKGDIRBASE)/aversiveplusplus/modules INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/base/include INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/container/include diff --git a/pkg/ccn-lite/Makefile.include b/pkg/ccn-lite/Makefile.include index c1f3dcc033..8718a60edb 100644 --- a/pkg/ccn-lite/Makefile.include +++ b/pkg/ccn-lite/Makefile.include @@ -1,4 +1,4 @@ -INCLUDES += -I$(RIOTPKG)/ccn-lite -I$(BINDIRBASE)/pkg/$(BOARD)/ccn-lite/src +INCLUDES += -I$(RIOTPKG)/ccn-lite -I$(PKGDIRBASE)/ccn-lite/src INCLUDES += -I$(RIOTBASE)/sys/posix/include CFLAGS += -DCCNL_RIOT diff --git a/pkg/cmsis-dsp/Makefile.include b/pkg/cmsis-dsp/Makefile.include index 168751983e..d76141ecfc 100644 --- a/pkg/cmsis-dsp/Makefile.include +++ b/pkg/cmsis-dsp/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/cmsis-dsp/include +INCLUDES += -I$(PKGDIRBASE)/cmsis-dsp/include diff --git a/pkg/emb6/Makefile.include b/pkg/emb6/Makefile.include index 090cebac9c..2b10bec81e 100644 --- a/pkg/emb6/Makefile.include +++ b/pkg/emb6/Makefile.include @@ -1,4 +1,4 @@ -PKG_BUILDDIR ?= $(BINDIRBASE)/pkg/$(BOARD)/emb6 +PKG_BUILDDIR ?= $(PKGDIRBASE)/emb6 EMB6_DIR := $(PKG_BUILDDIR) EMB6_CONTRIB := $(RIOTBASE)/pkg/emb6/contrib diff --git a/pkg/heatshrink/Makefile.include b/pkg/heatshrink/Makefile.include index eec2bc98d3..b57f71bdb7 100644 --- a/pkg/heatshrink/Makefile.include +++ b/pkg/heatshrink/Makefile.include @@ -1,2 +1,2 @@ CFLAGS += -DHEATSHRINK_DYNAMIC_ALLOC=0 -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/heatshrink +INCLUDES += -I$(PKGDIRBASE)/heatshrink diff --git a/pkg/jsmn/Makefile.include b/pkg/jsmn/Makefile.include index c8eef19bb6..b79e64fafe 100644 --- a/pkg/jsmn/Makefile.include +++ b/pkg/jsmn/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/jsmn +INCLUDES += -I$(PKGDIRBASE)/jsmn diff --git a/pkg/libcoap/Makefile.include b/pkg/libcoap/Makefile.include index 464f0f3a09..73dd7ce3ce 100644 --- a/pkg/libcoap/Makefile.include +++ b/pkg/libcoap/Makefile.include @@ -1,3 +1,3 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/libcoap \ +INCLUDES += -I$(PKGDIRBASE)/libcoap \ -I$(RIOTBASE)/sys/posix/include \ -I$(RIOTBASE)/sys/net/include diff --git a/pkg/libfixmath/Makefile.include b/pkg/libfixmath/Makefile.include index 0ce160429e..c5ed678375 100644 --- a/pkg/libfixmath/Makefile.include +++ b/pkg/libfixmath/Makefile.include @@ -1,4 +1,4 @@ -PKG_BUILDDIR ?= $(BINDIRBASE)/pkg/$(BOARD)/libfixmath +PKG_BUILDDIR ?= $(PKGDIRBASE)/libfixmath # The static cache is huge, disable it. CFLAGS += -DFIXMATH_NO_CACHE diff --git a/pkg/lwip/Makefile.include b/pkg/lwip/Makefile.include index b2ffbcd8c0..3f1e6e8f54 100644 --- a/pkg/lwip/Makefile.include +++ b/pkg/lwip/Makefile.include @@ -1,5 +1,5 @@ INCLUDES += -I$(RIOTBASE)/pkg/lwip/include \ - -I$(BINDIRBASE)/pkg/$(BOARD)/lwip/src/include + -I$(PKGDIRBASE)/lwip/src/include ifneq (,$(filter lwip_conn,$(USEMODULE))) DIRS += $(RIOTBASE)/pkg/lwip/contrib/conn diff --git a/pkg/micro-ecc/Makefile.include b/pkg/micro-ecc/Makefile.include index 88480400b1..1bb685e1b8 100644 --- a/pkg/micro-ecc/Makefile.include +++ b/pkg/micro-ecc/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/micro-ecc +INCLUDES += -I$(PKGDIRBASE)/micro-ecc diff --git a/pkg/microcoap/Makefile.include b/pkg/microcoap/Makefile.include index 84444392db..f824a20ea4 100644 --- a/pkg/microcoap/Makefile.include +++ b/pkg/microcoap/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/microcoap +INCLUDES += -I$(PKGDIRBASE)/microcoap diff --git a/pkg/nanocoap/Makefile.include b/pkg/nanocoap/Makefile.include index c636749c80..16f9db7795 100644 --- a/pkg/nanocoap/Makefile.include +++ b/pkg/nanocoap/Makefile.include @@ -1,2 +1,2 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/nanocoap/nanocoap +INCLUDES += -I$(PKGDIRBASE)/nanocoap/nanocoap INCLUDES += -I$(RIOTBASE)/sys/posix/include diff --git a/pkg/nordic_softdevice_ble/Makefile b/pkg/nordic_softdevice_ble/Makefile index d02525550e..9c2d71447a 100644 --- a/pkg/nordic_softdevice_ble/Makefile +++ b/pkg/nordic_softdevice_ble/Makefile @@ -4,7 +4,7 @@ PKG_FILE = nrf5_iot_sdk_$(PKG_VERSION).zip PKG_URL = https://developer.nordicsemi.com/nRF5_IoT_SDK/nRF5_IoT_SDK_v0.9.x/$(PKG_FILE) PKG_LICENSE = nordic-bsd PKG_DIR=$(CURDIR) -PKG_BUILDDIR=$(BINDIRBASE)/pkg/$(BOARD)/$(PKG_NAME) +PKG_BUILDDIR=$(PKGDIRBASE)/$(PKG_NAME) PKG_SRCDIR=$(PKG_BUILDDIR)/src SOFTDEVICE := components/softdevice/s1xx_iot/s1xx-iot-prototype3_nrf52_softdevice.hex diff --git a/pkg/nordic_softdevice_ble/Makefile.include b/pkg/nordic_softdevice_ble/Makefile.include index 138595464e..4db3a86812 100644 --- a/pkg/nordic_softdevice_ble/Makefile.include +++ b/pkg/nordic_softdevice_ble/Makefile.include @@ -1,4 +1,4 @@ -NORDIC_SRCS := $(BINDIRBASE)/pkg/$(BOARD)/nordic_softdevice_ble/src +NORDIC_SRCS := $(PKGDIRBASE)/nordic_softdevice_ble/src INCLUDES += \ -I$(RIOTBASE)/pkg/nordic_softdevice_ble/src \ diff --git a/pkg/oonf_api/Makefile.include b/pkg/oonf_api/Makefile.include index 996f3cc11f..5af9c3071f 100644 --- a/pkg/oonf_api/Makefile.include +++ b/pkg/oonf_api/Makefile.include @@ -1,4 +1,4 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/oonf_api/src-api +INCLUDES += -I$(PKGDIRBASE)/oonf_api/src-api ifeq ($(shell uname -s),Darwin) CFLAGS += -Wno-reserved-id-macro -Wno-keyword-macro diff --git a/pkg/pkg.mk b/pkg/pkg.mk index fa8e5a9ddd..937811e3a8 100644 --- a/pkg/pkg.mk +++ b/pkg/pkg.mk @@ -2,7 +2,7 @@ # Include this file if your Package needs to be checked out by git # PKG_DIR?=$(CURDIR) -PKG_BUILDDIR?=$(BINDIRBASE)/pkg/$(BOARD)/$(PKG_NAME) +PKG_BUILDDIR?=$(PKGDIRBASE)/$(PKG_NAME) .PHONY: git-download clean diff --git a/pkg/relic/Makefile.include b/pkg/relic/Makefile.include index b6777ad443..4c6ff1baba 100644 --- a/pkg/relic/Makefile.include +++ b/pkg/relic/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/relic/include +INCLUDES += -I$(PKGDIRBASE)/relic/include diff --git a/pkg/tiny-asn1/Makefile.include b/pkg/tiny-asn1/Makefile.include index 9965a43a7a..fa83b2ba0d 100644 --- a/pkg/tiny-asn1/Makefile.include +++ b/pkg/tiny-asn1/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/tiny-asn1/src +INCLUDES += -I$(PKGDIRBASE)/tiny-asn1/src diff --git a/pkg/tinydtls/Makefile.include b/pkg/tinydtls/Makefile.include index 305817ccf5..74dae8fd33 100644 --- a/pkg/tinydtls/Makefile.include +++ b/pkg/tinydtls/Makefile.include @@ -1,4 +1,4 @@ -PKG_BUILDDIR ?= $(BINDIRBASE)/pkg/$(BOARD)/tinydtls +PKG_BUILDDIR ?= $(PKGDIRBASE)/tinydtls INCLUDES += -I$(PKG_BUILDDIR) diff --git a/pkg/tlsf/Makefile b/pkg/tlsf/Makefile index ef4678f20a..480e2ff606 100644 --- a/pkg/tlsf/Makefile +++ b/pkg/tlsf/Makefile @@ -4,7 +4,7 @@ PKG_FILE = tlsf-$(PKG_VERSION).zip PKG_URL = http://download.riot-os.org/$(PKG_FILE) PKG_LICENSE = PD PKG_DIR=$(CURDIR) -PKG_BUILDDIR=$(BINDIRBASE)/pkg/$(BOARD)/$(PKG_NAME) +PKG_BUILDDIR=$(PKGDIRBASE)/$(PKG_NAME) PKG_SRCDIR=$(PKG_BUILDDIR)/src .PHONY: all clean distclean diff --git a/pkg/tlsf/Makefile.include b/pkg/tlsf/Makefile.include index 3f00a5695f..5334016a4d 100644 --- a/pkg/tlsf/Makefile.include +++ b/pkg/tlsf/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/tlsf/src +INCLUDES += -I$(PKGDIRBASE)/tlsf/src diff --git a/pkg/tweetnacl/Makefile.include b/pkg/tweetnacl/Makefile.include index 1c38af9d01..de6d05aaa7 100644 --- a/pkg/tweetnacl/Makefile.include +++ b/pkg/tweetnacl/Makefile.include @@ -1 +1 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/tweetnacl/ \ No newline at end of file +INCLUDES += -I$(PKGDIRBASE)/tweetnacl/ \ No newline at end of file diff --git a/pkg/u8g2/Makefile.include b/pkg/u8g2/Makefile.include index ccc86c8459..98bbc699d4 100644 --- a/pkg/u8g2/Makefile.include +++ b/pkg/u8g2/Makefile.include @@ -1,4 +1,4 @@ -INCLUDES += -I$(BINDIRBASE)/pkg/$(BOARD)/u8g2/csrc +INCLUDES += -I$(PKGDIRBASE)/u8g2/csrc # Link SDL if enabled. ifneq (,$(filter u8g2_sdl,$(USEMODULE)))