diff --git a/dist/tools/bossa-1.8/Makefile b/dist/tools/bossa-1.8/Makefile index 72736876b7..6b9b1592a7 100644 --- a/dist/tools/bossa-1.8/Makefile +++ b/dist/tools/bossa-1.8/Makefile @@ -2,14 +2,16 @@ PKG_NAME = bossa PKG_URL = https://github.com/shumatech/BOSSA PKG_VERSION = 26154375695f345491bba158d57177aa231d6765 PKG_LICENSE = BSD-3-Clause -PKG_BUILDDIR = $(CURDIR)/bin + +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk all: @echo "[INFO] compiling bossac from source now" - @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) strip-bossac - @mv $(PKG_BUILDDIR)/bossac $(CURDIR)/bossac + @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILD_DIR) -C $(PKG_BUILD_DIR) strip-bossac + @mv $(PKG_BUILD_DIR)/bossac $(CURDIR)/bossac distclean:: @rm -f $(CURDIR)/bossac diff --git a/dist/tools/bossa-1.9/Makefile b/dist/tools/bossa-1.9/Makefile index fd7b804808..febb787503 100644 --- a/dist/tools/bossa-1.9/Makefile +++ b/dist/tools/bossa-1.9/Makefile @@ -2,14 +2,16 @@ PKG_NAME = bossa PKG_URL = https://github.com/shumatech/BOSSA PKG_VERSION = 1.9.1 PKG_LICENSE = BSD-3-Clause -PKG_BUILDDIR = $(CURDIR)/bin + +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk all: @echo "[INFO] compiling bossac from source now" - @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) strip-bossac - @mv $(PKG_BUILDDIR)/bossac $(CURDIR)/bossac + @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILD_DIR) -C $(PKG_BUILD_DIR) strip-bossac + @mv $(PKG_BUILD_DIR)/bossac $(CURDIR)/bossac distclean:: @rm -f $(CURDIR)/bossac diff --git a/dist/tools/bossa-nrf52/Makefile b/dist/tools/bossa-nrf52/Makefile index 850325f49e..45c16dadbd 100644 --- a/dist/tools/bossa-nrf52/Makefile +++ b/dist/tools/bossa-nrf52/Makefile @@ -2,14 +2,16 @@ PKG_NAME = bossa PKG_URL = https://github.com/arduino/BOSSA PKG_VERSION = 52e0a4a28721296e64083de7780b30580e0fad16 PKG_LICENSE = BSD-3-Clause -PKG_BUILDDIR = $(CURDIR)/bin + +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk all: @echo "[INFO] compiling bossac from source now" - @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) strip-bossac - @mv $(PKG_BUILDDIR)/bossac $(CURDIR)/bossac + @env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILD_DIR) -C $(PKG_BUILD_DIR) strip-bossac + @mv $(PKG_BUILD_DIR)/bossac $(CURDIR)/bossac distclean:: @rm -f $(CURDIR)/bossac diff --git a/dist/tools/cc2538-bsl/Makefile b/dist/tools/cc2538-bsl/Makefile index a436bc9c03..2611e00821 100644 --- a/dist/tools/cc2538-bsl/Makefile +++ b/dist/tools/cc2538-bsl/Makefile @@ -7,4 +7,4 @@ PKG_BUILDDIR=$(CURDIR)/bin include $(RIOTBASE)/pkg/pkg.mk all: - cp $(PKG_BUILDDIR)/cc2538-bsl.py . + cp $(PKG_SOURCE_DIR)/cc2538-bsl.py . diff --git a/dist/tools/edbg/Makefile b/dist/tools/edbg/Makefile index 13d15c6942..2615814891 100644 --- a/dist/tools/edbg/Makefile +++ b/dist/tools/edbg/Makefile @@ -2,7 +2,9 @@ PKG_NAME=edbg PKG_URL=https://github.com/ataradov/edbg PKG_VERSION=99d15460fcff723f73b16c29c8ca14bff4b33b20 PKG_LICENSE=BSD-3-Clause -PKG_BUILDDIR=$(CURDIR)/bin + +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk @@ -10,5 +12,5 @@ all: # Start edbg build in a clean environment, so variables set by RIOT's build process # for cross compiling a specific target platform are reset and edbg can # be built cleanly for the native platform. - env -i PATH="$(PATH)" TERM="$(TERM)" "$(MAKE)" -C "$(PKG_BUILDDIR)" - mv $(PKG_BUILDDIR)/edbg . + env -i PATH="$(PATH)" TERM="$(TERM)" "$(MAKE)" -C "$(PKG_BUILD_DIR)" + mv $(PKG_BUILD_DIR)/edbg . diff --git a/dist/tools/flatc/.gitignore b/dist/tools/flatc/.gitignore index baed641328..5d4fade4d2 100644 --- a/dist/tools/flatc/.gitignore +++ b/dist/tools/flatc/.gitignore @@ -1,2 +1,2 @@ flatc -bin +bin/ diff --git a/dist/tools/flatc/Makefile b/dist/tools/flatc/Makefile index 9ac92acf81..12985aa3e0 100644 --- a/dist/tools/flatc/Makefile +++ b/dist/tools/flatc/Makefile @@ -1,16 +1,13 @@ -PKG_NAME=flatc +PKG_NAME=flatbuffers PKG_URL=https://github.com/google/flatbuffers PKG_VERSION=9e7e8cbe9f675123dd41b7c62868acad39188cae PKG_LICENSE=Apache2.0 -PKG_BUILDDIR=$(CURDIR)/bin - -FLATC_SOURCE_DIR = $(PKG_BUILDDIR) -FLATC_BUILD_DIR = $(PKG_BUILDDIR)/build - # manually set some RIOT env vars, so this Makefile can be called stand-alone RIOTBASE ?= $(CURDIR)/../../.. RIOTTOOLS ?= $(CURDIR)/.. +PKGDIRBASE ?= $(RIOTBASE)/build/pkg +PKG_BUILD_DIR ?= $(CURDIR)/bin CMAKE_OPTIONS = \ -DCMAKE_BUILD_TYPE=Release \ @@ -26,9 +23,9 @@ endif include $(RIOTBASE)/pkg/pkg.mk all: - @env -i PATH="$(PATH)" cmake -G "Unix Makefiles" $(CMAKE_OPTIONS) -H"$(FLATC_SOURCE_DIR)" -B"$(FLATC_BUILD_DIR)" - "$(MAKE)" -C "$(FLATC_BUILD_DIR)" - @mv "$(FLATC_BUILD_DIR)"/flatc $(CURDIR)/flatc + @env -i PATH="$(PATH)" cmake -G "Unix Makefiles" $(CMAKE_OPTIONS) -H"$(PKG_SOURCE_DIR)" -B"$(PKG_BUILD_DIR)" + "$(MAKE)" -C "$(PKG_BUILD_DIR)" + @mv "$(PKG_BUILD_DIR)"/flatc $(CURDIR)/flatc distclean:: @rm -f $(CURDIR)/flatc diff --git a/dist/tools/kconfiglib/Makefile b/dist/tools/kconfiglib/Makefile index cfd758216d..8a82585328 100644 --- a/dist/tools/kconfiglib/Makefile +++ b/dist/tools/kconfiglib/Makefile @@ -2,15 +2,14 @@ PKG_NAME=kconfiglib PKG_URL=https://github.com/ulfalizer/Kconfiglib PKG_VERSION=82f59179b1b35fcd8b6d188453b283599ea70518 PKG_LICENSE=ISC -PKG_BUILDDIR=$(CURDIR)/bin include $(RIOTBASE)/pkg/pkg.mk all: - $(Q)cp $(PKG_BUILDDIR)/kconfiglib.py $(PKG_BUILDDIR)/menuconfig.py \ - $(PKG_BUILDDIR)/genconfig.py $(PKG_BUILDDIR)/examples/merge_config.py \ + $(Q)cp $(PKG_SOURCE_DIR)/kconfiglib.py $(PKG_SOURCE_DIR)/menuconfig.py \ + $(PKG_SOURCE_DIR)/genconfig.py $(PKG_SOURCE_DIR)/examples/merge_config.py \ . remove: - $(Q)$(RM) -r $(PKG_BUILDDIR) kconfiglib.py menuconfig.py genconfig.py \ + $(Q)$(RM) -r $(PKG_SOURCE_DIR) kconfiglib.py menuconfig.py genconfig.py \ merge_config.py diff --git a/dist/tools/mosquitto_rsmb/Makefile b/dist/tools/mosquitto_rsmb/Makefile index b1065d81bf..ae2c1b1cb9 100644 --- a/dist/tools/mosquitto_rsmb/Makefile +++ b/dist/tools/mosquitto_rsmb/Makefile @@ -2,32 +2,34 @@ PKG_NAME = mosquitto_rsmb PKG_URL = https://github.com/eclipse/mosquitto.rsmb PKG_VERSION = 9b99a3be9a26635b93aec8fa2ed744e8c49e7262 PKG_LICENSE = EPL-1.0 -PKG_BUILDDIR = $(CURDIR)/bin - -# set default configuration file -RSMB_CFG ?= $(CURDIR)/config.cnf # manually set some RIOT env vars, so this Makefile can be called stand-alone RIOTBASE ?= $(CURDIR)/../../.. RIOTTOOLS ?= $(CURDIR)/.. +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 + # Include pkg.mk after setting RIOTBASE otherwise it is not found when this # Makefile is called stand-alone include $(RIOTBASE)/pkg/pkg.mk +# set default configuration file +RSMB_CFG ?= $(CURDIR)/config.cnf + all: # Start mosquitto_rsmb build in a clean environment, so variables set by RIOT's # build process for cross compiling a specific target platform are reset and # mosquitto_rsmb can be built cleanly for the host platform. - env -i PATH=$(PATH) TERM=$(TERM) "$(MAKE)" -C $(PKG_BUILDDIR)/rsmb/src - cp $(PKG_BUILDDIR)/rsmb/src/broker_mqtts $(CURDIR)/mosquitto_rsmb - cp $(PKG_BUILDDIR)/rsmb/src/Messages.1.* $(CURDIR)/ + env -i PATH=$(PATH) TERM=$(TERM) "$(MAKE)" -C $(PKG_BUILD_DIR)/rsmb/src + cp $(PKG_BUILD_DIR)/rsmb/src/broker_mqtts $(CURDIR)/mosquitto_rsmb + cp $(PKG_BUILD_DIR)/rsmb/src/Messages.1.* $(CURDIR)/ run: @$(CURDIR)/mosquitto_rsmb $(RSMB_CFG) clean:: - @rm -rf $(CURDIR)/bin + @rm -rf $(PKG_BUILD_DIR) @rm -f $(CURDIR)/mosquitto_rsmb @rm -f $(CURDIR)/Messages.1.* @rm -f $(CURDIR)/FFDC.CWNAN.*.dmp diff --git a/dist/tools/pic32prog/Makefile b/dist/tools/pic32prog/Makefile index 3fc9b0a1ff..9dc201a554 100644 --- a/dist/tools/pic32prog/Makefile +++ b/dist/tools/pic32prog/Makefile @@ -4,6 +4,8 @@ PKG_VERSION = b9f8db3b352804392b02b42475fc42874ac8bf04 PKG_LICENSE = GPL-2 PKG_BUILDDIR = bin +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk # Building it requires some dependencies, on ubuntu: @@ -12,8 +14,8 @@ include $(RIOTBASE)/pkg/pkg.mk all: @echo "[INFO] compiling pic32prog from source now" - @env -i PATH=$(PATH) TERM=$(TERM) make -C $(PKG_BUILDDIR) - @mv $(PKG_BUILDDIR)/pic32prog pic32prog + @env -i PATH=$(PATH) TERM=$(TERM) make -C $(PKG_BUILD_DIR) + @mv $(PKG_BUILD_DIR)/pic32prog pic32prog distclean:: @rm -f pic32prog diff --git a/dist/tools/setsid/Makefile b/dist/tools/setsid/Makefile index 4798aa6d12..ef40543033 100644 --- a/dist/tools/setsid/Makefile +++ b/dist/tools/setsid/Makefile @@ -4,12 +4,14 @@ PKG_VERSION = e5b851df41591021baf5cf88d4e41572baf8e08b PKG_LICENSE = BSD-2-Clause PKG_BUILDDIR = $(CURDIR)/bin +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk all: @echo "[INFO] compiling setsid from source now" - $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) - @mv $(PKG_BUILDDIR)/setsid $(CURDIR)/setsid + $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_SOURCE_DIR) + @mv $(PKG_SOURCE_DIR)/setsid $(CURDIR)/setsid distclean:: @rm -f $(CURDIR)/setsid diff --git a/dist/tools/teensy-loader-cli/Makefile b/dist/tools/teensy-loader-cli/Makefile index 9508b14992..450cf8cef0 100644 --- a/dist/tools/teensy-loader-cli/Makefile +++ b/dist/tools/teensy-loader-cli/Makefile @@ -1,6 +1,5 @@ PKG_NAME=teensy-loader-cli PKG_LICENSE=GPL-3 -PKG_BUILDDIR=$(CURDIR)/bin # get sources from repository ifeq ($(OS),Darwin) @@ -12,8 +11,10 @@ else PKG_VERSION=76921edbdd81ae99b869b104404c16c06b0a266f endif +PKG_SOURCE_DIR = $(CURDIR)/bin +PKG_BUILD_OUT_OF_SOURCE = 0 include $(RIOTBASE)/pkg/pkg.mk all: - env -i PATH=$(PATH) TERM=$(TERM) "$(MAKE)" -C $(PKG_BUILDDIR) - mv $(PKG_BUILDDIR)/teensy_loader_cli ./teensy_loader + env -i PATH=$(PATH) TERM=$(TERM) "$(MAKE)" -C $(PKG_SOURCE_DIR) + mv $(PKG_SOURCE_DIR)/teensy_loader_cli ./teensy_loader