diff --git a/dist/tools/bossa/Makefile b/dist/tools/bossa/Makefile index 345ee63580..72736876b7 100644 --- a/dist/tools/bossa/Makefile +++ b/dist/tools/bossa/Makefile @@ -4,14 +4,12 @@ PKG_VERSION = 26154375695f345491bba158d57177aa231d6765 PKG_LICENSE = BSD-3-Clause PKG_BUILDDIR = $(CURDIR)/bin -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +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 distclean:: @rm -f $(CURDIR)/bossac - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/edbg/Makefile b/dist/tools/edbg/Makefile index ca0cce6046..19fdcd2653 100644 --- a/dist/tools/edbg/Makefile +++ b/dist/tools/edbg/Makefile @@ -4,13 +4,11 @@ PKG_VERSION=4f5d490bfffc7fd10855e513e6e88be5a9a3f789 PKG_LICENSE=BSD-3-Clause PKG_BUILDDIR=$(CURDIR)/bin -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +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 . - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/kconfiglib/Makefile b/dist/tools/kconfiglib/Makefile index 520c2f505f..3ee8d233d3 100644 --- a/dist/tools/kconfiglib/Makefile +++ b/dist/tools/kconfiglib/Makefile @@ -4,11 +4,9 @@ PKG_VERSION=82f59179b1b35fcd8b6d188453b283599ea70518 PKG_LICENSE=ISC PKG_BUILDDIR=$(CURDIR)/bin -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +all: cp $(PKG_BUILDDIR)/kconfiglib.py $(PKG_BUILDDIR)/menuconfig.py \ $(PKG_BUILDDIR)/genconfig.py $(PKG_BUILDDIR)/examples/merge_config.py \ . - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/mosquitto_rsmb/Makefile b/dist/tools/mosquitto_rsmb/Makefile index 5aecfb36e9..3f12b06c1f 100644 --- a/dist/tools/mosquitto_rsmb/Makefile +++ b/dist/tools/mosquitto_rsmb/Makefile @@ -4,6 +4,8 @@ PKG_VERSION = 9b99a3be9a26635b93aec8fa2ed744e8c49e7262 PKG_LICENSE = EPL-1.0 PKG_BUILDDIR = $(CURDIR)/bin +include $(RIOTBASE)/pkg/pkg.mk + # set default configuration file RSMB_CFG ?= $(CURDIR)/config.cnf @@ -14,9 +16,7 @@ GITCACHE ?= $(RIOTTOOLS)/git/git-cache $(info $(RIOTBASE)) -.PHONY: all clean - -all: git-download +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. @@ -32,5 +32,3 @@ clean:: @rm -f $(CURDIR)/mosquitto_rsmb @rm -f $(CURDIR)/Messages.1.* @rm -f $(CURDIR)/FFDC.CWNAN.*.dmp - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/pic32prog/Makefile b/dist/tools/pic32prog/Makefile index d308c88f1d..3fc9b0a1ff 100644 --- a/dist/tools/pic32prog/Makefile +++ b/dist/tools/pic32prog/Makefile @@ -4,16 +4,16 @@ PKG_VERSION = b9f8db3b352804392b02b42475fc42874ac8bf04 PKG_LICENSE = GPL-2 PKG_BUILDDIR = bin +include $(RIOTBASE)/pkg/pkg.mk + # Building it requires some dependencies, on ubuntu: # # sudo apt-get install libusb-dev libusb-1.0-0-dev libudev-dev -all: git-download +all: @echo "[INFO] compiling pic32prog from source now" @env -i PATH=$(PATH) TERM=$(TERM) make -C $(PKG_BUILDDIR) @mv $(PKG_BUILDDIR)/pic32prog pic32prog distclean:: @rm -f pic32prog - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/setsid/Makefile b/dist/tools/setsid/Makefile index 164392026f..4798aa6d12 100644 --- a/dist/tools/setsid/Makefile +++ b/dist/tools/setsid/Makefile @@ -4,14 +4,12 @@ PKG_VERSION = e5b851df41591021baf5cf88d4e41572baf8e08b PKG_LICENSE = BSD-2-Clause PKG_BUILDDIR = $(CURDIR)/bin -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +all: @echo "[INFO] compiling setsid from source now" $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) @mv $(PKG_BUILDDIR)/setsid $(CURDIR)/setsid distclean:: @rm -f $(CURDIR)/setsid - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/dist/tools/teensy-loader-cli/Makefile b/dist/tools/teensy-loader-cli/Makefile index eec2e614c6..9508b14992 100644 --- a/dist/tools/teensy-loader-cli/Makefile +++ b/dist/tools/teensy-loader-cli/Makefile @@ -2,17 +2,8 @@ PKG_NAME=teensy-loader-cli PKG_LICENSE=GPL-3 PKG_BUILDDIR=$(CURDIR)/bin -# resolv build host in a hacky way -UNAME=$(shell uname) -TARGET=WINDOWS -ifeq ("$(UNAME)","Linux") - TARGET=LINUX -else ifeq ("$(UNAME)","Darwin") - TARGET=MACOSX -endif - # get sources from repository -ifeq ("$(TARGET)","MACOSX") +ifeq ($(OS),Darwin) # hacked version to make it work on MACOSX PKG_URL=https://github.com/alswl/teensy_loader_cli.git PKG_VERSION=9c16bb0add3ba847df5509328ad6bd5bc09d9ecd @@ -21,10 +12,8 @@ else PKG_VERSION=76921edbdd81ae99b869b104404c16c06b0a266f endif -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +all: env -i PATH=$(PATH) TERM=$(TERM) "$(MAKE)" -C $(PKG_BUILDDIR) mv $(PKG_BUILDDIR)/teensy_loader_cli ./teensy_loader - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/Makefile.git b/pkg/Makefile.git index 5536103ada..3f58592ba2 100644 --- a/pkg/Makefile.git +++ b/pkg/Makefile.git @@ -3,9 +3,7 @@ PKG_URL= # source url of the package's git repository PKG_VERSION= # version of the package to use e.g. a git commit/ref PKG_LICENSE= # license of the package -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: $(MAKE) -C $(CURDIR)/$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/cayenne-lpp/Makefile b/pkg/cayenne-lpp/Makefile index 0e5fa5eb59..babad6bc5e 100644 --- a/pkg/cayenne-lpp/Makefile +++ b/pkg/cayenne-lpp/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/aabadie/cayenne-lpp PKG_VERSION=0.1.1 PKG_LICENSE=LGPLv2.1 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/ccn-lite/Makefile b/pkg/ccn-lite/Makefile index 3b35640ad2..7b51fc395b 100644 --- a/pkg/ccn-lite/Makefile +++ b/pkg/ccn-lite/Makefile @@ -3,40 +3,42 @@ PKG_URL=https://github.com/cn-uofbasel/ccn-lite/ PKG_VERSION=2da4123b055d90c406c08cf2e96704e132220536 PKG_LICENSE=ISC -.PHONY: all ..cmake_version_supported +include $(RIOTBASE)/pkg/pkg.mk + +.PHONY: ..cmake_version_supported CMAKE_MINIMAL_VERSION = 3.6.0 - RIOT_CFLAGS = $(INCLUDES) ifeq (llvm,$(TOOLCHAIN)) RIOT_CFLAGS += -Wno-char-subscripts endif -TOOLCHAIN_FILE=$(PKG_BUILDDIR)/xcompile-toolchain.cmake +TOOLCHAIN_FILE = $(PKG_BUILDDIR)/xcompile-toolchain.cmake -all: $(PKG_BUILDDIR)/src/Makefile - $(MAKE) -C $(PKG_BUILDDIR)/src && \ - cp $(PKG_BUILDDIR)/src/lib/libccnl-riot.a $(BINDIR)/ccn-lite.a +all: $(BINDIR)/ccn-lite.a -$(PKG_BUILDDIR)/src/Makefile: $(TOOLCHAIN_FILE) - cd $(PKG_BUILDDIR)/src && \ - cmake -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) \ - -DCCNL_RIOT=1 -DRIOT_CFLAGS="$(RIOT_CFLAGS)" -DBUILD_TESTING=OFF . -$(TOOLCHAIN_FILE): git-download +$(BINDIR)/ccn-lite.a: $(PKG_BUILDDIR)/bin/lib/libccnl-riot.a + cp $< $@ + +$(PKG_BUILDDIR)/bin/lib/libccnl-riot.a: $(PKG_BUILDDIR)/bin/Makefile + $(MAKE) -C $(PKG_BUILDDIR)/bin + +$(PKG_BUILDDIR)/bin/Makefile: $(PKG_PREPARED) $(TOOLCHAIN_FILE) | ..cmake_version_supported + cmake -B$(PKG_BUILDDIR)/bin -H$(PKG_BUILDDIR)/src \ + -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) \ + -DCCNL_RIOT=1 -DRIOT_CFLAGS="$(RIOT_CFLAGS)" -DBUILD_TESTING=OFF + +$(TOOLCHAIN_FILE): FORCE $(RIOTTOOLS)/cmake/generate-xcompile-toolchain.sh > $(TOOLCHAIN_FILE) -git-download: | ..cmake_version_supported - ..cmake_version_supported: @ # Remove '-rcX' from version as they are not well handled $(Q)\ CMAKE_VERSION=$$(cmake --version | sed -n '1 {s/cmake version //;s/-rc.*//;p;}'); \ $(RIOTTOOLS)/has_minimal_version/has_minimal_version.sh "$${CMAKE_VERSION}" "$(CMAKE_MINIMAL_VERSION)" cmake - -include $(RIOTBASE)/pkg/pkg.mk ifneq (,$(filter -Wformat-nonliteral -Wformat=2, $(CFLAGS))) CFLAGS += -Wno-format-nonliteral endif diff --git a/pkg/cifra/Makefile b/pkg/cifra/Makefile index 11ff4926bf..e44a7e3f8f 100644 --- a/pkg/cifra/Makefile +++ b/pkg/cifra/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/ctz/cifra PKG_VERSION=cfa6df9ca0007abe3c70409d02b3779ac1742297 PKG_LICENSE=CC-0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.cifra - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/cmsis-dsp/Makefile b/pkg/cmsis-dsp/Makefile index 9cffaff1b8..d465cac151 100644 --- a/pkg/cmsis-dsp/Makefile +++ b/pkg/cmsis-dsp/Makefile @@ -2,11 +2,10 @@ PKG_NAME=cmsis-dsp PKG_URL=https://github.com/ARM-software/CMSIS_5 PKG_VERSION=5.4.0 PKG_LICENSE=Apache-2.0 -CFLAGS += -Wno-strict-aliasing -Wno-unused-parameter - -.PHONY: all - -all: - "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME) include $(RIOTBASE)/pkg/pkg.mk + +CFLAGS += -Wno-strict-aliasing -Wno-unused-parameter + +all: + "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME) all diff --git a/pkg/cmsis-dsp/Makefile.cmsis-dsp b/pkg/cmsis-dsp/Makefile.cmsis-dsp index 7bd5831e6b..a86b6da7da 100644 --- a/pkg/cmsis-dsp/Makefile.cmsis-dsp +++ b/pkg/cmsis-dsp/Makefile.cmsis-dsp @@ -36,8 +36,5 @@ $(OBJ): | $(CMSIS_BINDIRS) $(CMSIS_BINDIRS): @mkdir -p $@ -# Reset the default goal. -.DEFAULT_GOAL := - # Include RIOT settings and recipes include $(RIOTBASE)/Makefile.base diff --git a/pkg/cn-cbor/Makefile b/pkg/cn-cbor/Makefile index 8646ff563b..1511e31054 100644 --- a/pkg/cn-cbor/Makefile +++ b/pkg/cn-cbor/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/cabo/cn-cbor PKG_VERSION=f1cf9ffdf5cfab935a45900556f9b68af925c256 PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.cn-cbor - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/emb6/Makefile b/pkg/emb6/Makefile index d1784a623c..883e545053 100644 --- a/pkg/emb6/Makefile +++ b/pkg/emb6/Makefile @@ -3,6 +3,8 @@ PKG_URL=https://github.com/hso-esk/emb6.git PKG_VERSION=14e4a3cfff01644e078870e14e16a1fe60dcc895 PKG_LICENSE=BSD-3-Clause +include $(RIOTBASE)/pkg/pkg.mk + # GCC 7.x fails on (intentional) fallthrough, thus disable implicit-fallthrough. CFLAGS += -Wno-implicit-fallthrough CFLAGS += -Wno-strict-aliasing @@ -16,8 +18,6 @@ EMB6_SUBMODULES:=$(filter-out emb6_contrib \ emb6_router \ emb6_sock_%,$(filter emb6_%,$(USEMODULE))) -.PHONY: all - all: $(EMB6_SUBMODULES) "$(MAKE)" -C $(PKG_BUILDDIR) @@ -25,8 +25,6 @@ all: $(EMB6_SUBMODULES) emb6_%: "$(MAKE)" -C $(dir $(shell grep -lR "MODULE.*=.*\<$@\>" $(PKG_BUILDDIR))) -include $(RIOTBASE)/pkg/pkg.mk - ifeq (llvm,$(TOOLCHAIN)) CFLAGS += -Wno-tautological-compare CFLAGS += -Wno-parentheses-equality diff --git a/pkg/fatfs/Makefile b/pkg/fatfs/Makefile index 3bd886723c..a5e20650e7 100644 --- a/pkg/fatfs/Makefile +++ b/pkg/fatfs/Makefile @@ -4,10 +4,8 @@ PKG_VERSION=34f371c7735fc6fc8e714a74a7a73a61d3ed5633 PKG_LICENSE=BSD-1-Clause MODULE_MAKEFILE := $(CURDIR)/Makefile.fatfs -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: @cp $(MODULE_MAKEFILE) $(PKG_BUILDDIR)/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/gecko_sdk/Makefile b/pkg/gecko_sdk/Makefile index 3710f435fb..02a97d0358 100644 --- a/pkg/gecko_sdk/Makefile +++ b/pkg/gecko_sdk/Makefile @@ -3,6 +3,8 @@ PKG_URL=https://github.com/basilfx/RIOT-gecko-sdk PKG_VERSION=06b00b68333ea05db1c78fe6626dcfe005a80cb6 PKG_LICENSE=Zlib +include $(RIOTBASE)/pkg/pkg.mk + ifneq ($(CPU),efm32) $(error This package can only be used with EFM32 CPUs) endif @@ -11,9 +13,5 @@ ifneq (llvm,$(TOOLCHAIN)) CFLAGS += -Wno-int-in-bool-context endif -.PHONY: all - all: "$(MAKE)" -C $(PKG_BUILDDIR)/dist - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/hacl/Makefile b/pkg/hacl/Makefile index 330df12a67..8b84ecac04 100644 --- a/pkg/hacl/Makefile +++ b/pkg/hacl/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/mitls/hacl-c PKG_VERSION=aac05f5094fc92569169d5a2af54c12387160634 PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/heatshrink/Makefile b/pkg/heatshrink/Makefile index 7ba2a34235..42dd977927 100644 --- a/pkg/heatshrink/Makefile +++ b/pkg/heatshrink/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/atomicobject/heatshrink.git PKG_VERSION=7d419e1fa4830d0b919b9b6a91fe2fb786cf3280 PKG_LICENSE=ISC-License -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.heatshrink - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/jerryscript/Makefile b/pkg/jerryscript/Makefile index b38688db04..2513ec2004 100644 --- a/pkg/jerryscript/Makefile +++ b/pkg/jerryscript/Makefile @@ -3,7 +3,7 @@ PKG_URL=https://github.com/jerryscript-project/jerryscript.git PKG_VERSION=6e94414f9c3ad9b77c4635a0ca9e796752a205f0 PKG_LICENSE=Apache-2.0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk CFLAGS += -Wno-implicit-fallthrough @@ -14,5 +14,3 @@ endif all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.jerryscript all - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/jsmn/Makefile b/pkg/jsmn/Makefile index cf53ff653e..7eb2e3ed67 100644 --- a/pkg/jsmn/Makefile +++ b/pkg/jsmn/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/zserge/jsmn PKG_VERSION=6784c826d9674915a4d89649c6288e6aecb4110d PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.jsmn - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/libb2/Makefile b/pkg/libb2/Makefile index 83293234af..06350f32a7 100644 --- a/pkg/libb2/Makefile +++ b/pkg/libb2/Makefile @@ -3,10 +3,8 @@ PKG_URL = https://github.com/BLAKE2/libb2 PKG_VERSION = 60ea749837362c226e8501718f505ab138e5c19d # v0.98 PKG_LICENSE = CC0-1.0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src \ -f $(RIOTPKG)/libb2/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/libcoap/Makefile b/pkg/libcoap/Makefile index 18b69db159..fa37928308 100644 --- a/pkg/libcoap/Makefile +++ b/pkg/libcoap/Makefile @@ -3,16 +3,14 @@ PKG_URL=https://github.com/obgm/libcoap PKG_VERSION=ef41ce5d02d64cec0751882ae8fd95f6c32bc018 PKG_LICENSE=BSD-2-Clause +include $(RIOTBASE)/pkg/pkg.mk + # GCC 7.x fails on (intentional) fallthrough, thus disable implicit-fallthrough. CFLAGS += -Wno-implicit-fallthrough -.PHONY: all - -all: - "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk - ifeq (llvm,$(TOOLCHAIN)) CFLAGS += -Wno-format-nonliteral endif + +all: + "$(MAKE)" -C $(PKG_BUILDDIR) diff --git a/pkg/libcose/Makefile b/pkg/libcose/Makefile index 5768c146f9..a73ff88e40 100644 --- a/pkg/libcose/Makefile +++ b/pkg/libcose/Makefile @@ -3,10 +3,8 @@ PKG_URL=https://github.com/bergzand/libcose PKG_VERSION=8b5f651c3203682a2d98121cd3e5c844cb2b4c36 PKG_LICENSE=LGPL -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.libcose "$(MAKE)" -C $(PKG_BUILDDIR)/src/crypt -f $(CURDIR)/Makefile.libcose_crypt - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/libfixmath/Makefile b/pkg/libfixmath/Makefile index 3d49b6d721..ac40c2bc00 100644 --- a/pkg/libfixmath/Makefile +++ b/pkg/libfixmath/Makefile @@ -3,10 +3,8 @@ PKG_VERSION := 7f9c966b5c473770dc93940e3e6e5323f3c1ad69 PKG_URL := https://github.com/PetteriAimonen/libfixmath PKG_LICENSE := MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: $(Q)cp $(CURDIR)/Makefile.$(PKG_NAME) $(PKG_BUILDDIR)/$(PKG_NAME)/Makefile $(Q)cp $(CURDIR)/Makefile.$(PKG_NAME)-unittests $(PKG_BUILDDIR)/unittests/Makefile - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/libhydrogen/Makefile b/pkg/libhydrogen/Makefile index f0284b0446..28e32e1322 100644 --- a/pkg/libhydrogen/Makefile +++ b/pkg/libhydrogen/Makefile @@ -3,13 +3,11 @@ PKG_URL = https://github.com/jedisct1/libhydrogen PKG_VERSION = 39eb529905ce118b674a7723c0d2b48074b9986d PKG_LICENSE = ISC +include $(RIOTBASE)/pkg/pkg.mk + # This warning is triggered on non-32bit platforms CFLAGS += -Wno-type-limits -.PHONY: all - all: "$(MAKE)" -C $(PKG_BUILDDIR) \ -f $(RIOTPKG)/libhydrogen/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/littlefs/Makefile b/pkg/littlefs/Makefile index a806dd1cd8..eaada0094a 100644 --- a/pkg/littlefs/Makefile +++ b/pkg/littlefs/Makefile @@ -4,9 +4,7 @@ PKG_URL=https://github.com/ARMmbed/littlefs.git PKG_VERSION=7e110b44c0e796dc56e2fe86587762d685653029 PKG_LICENSE=Apache-2.0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.littlefs - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/local.mk b/pkg/local.mk index c2a8f0ece7..4f5755da2e 100644 --- a/pkg/local.mk +++ b/pkg/local.mk @@ -6,10 +6,7 @@ # # WARNING: any local changes made to $(PKG_BUILDDIR) *will* get lost! -.PHONY: prepare git-download clean - -git-download: - @true +.PHONY: prepare clean prepare: $(PKG_BUILDDIR)/.prepared @true diff --git a/pkg/lora-serialization/Makefile b/pkg/lora-serialization/Makefile index e4d80dec85..2441032b4a 100644 --- a/pkg/lora-serialization/Makefile +++ b/pkg/lora-serialization/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/leandrolanzieri/lora-serialization PKG_VERSION=d88577a18706ea66431b5f037475b65f43fa88ca PKG_LICENSE=LGPLv2.1 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/lua/Makefile b/pkg/lua/Makefile index 69170baa95..1df60e9909 100644 --- a/pkg/lua/Makefile +++ b/pkg/lua/Makefile @@ -4,10 +4,8 @@ PKG_URL=https://github.com/lua/lua.git PKG_VERSION=e354c6355e7f48e087678ec49e340ca0696725b1 PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: Makefile.lua @cp Makefile.lua $(PKG_BUILDDIR) "$(MAKE)" -C $(PKG_BUILDDIR) -f Makefile.lua - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/lwip/Makefile b/pkg/lwip/Makefile index cb4e34b9d8..a8dd556dad 100644 --- a/pkg/lwip/Makefile +++ b/pkg/lwip/Makefile @@ -4,12 +4,14 @@ PKG_URL=https://git.savannah.nongnu.org/git/lwip.git PKG_VERSION=159e31b689577dbf69cf0683bbaffbd71fa5ee10 PKG_LICENSE=BSD-3-Clause +include $(RIOTBASE)/pkg/pkg.mk + LWIP_MODULES = lwip_api lwip_core lwip_ipv4 lwip_ipv6 \ lwip_netif lwip_netif_ppp lwip_polarssl LWIP_USEMODULE = $(filter $(LWIP_MODULES),$(USEMODULE)) LWIP_MODULE_MAKEFILE = $(RIOTBASE)/Makefile.base -.PHONY: all $(LWIP_MODULES) +.PHONY: $(LWIP_MODULES) CFLAGS += -Wno-address @@ -40,5 +42,3 @@ lwip_netif_ppp: lwip_polarssl: $(call make_module,$@,$(PKG_BUILDDIR)/src/netif/ppp/polarssl) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/micro-ecc/Makefile b/pkg/micro-ecc/Makefile index 518e38f707..931943b71a 100644 --- a/pkg/micro-ecc/Makefile +++ b/pkg/micro-ecc/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/kmackay/micro-ecc.git PKG_VERSION=b6c0cdbe7d20af48b0c2a909a66ff00b093d1542 PKG_LICENSE=BSD-2-Clause -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/microcoap/Makefile b/pkg/microcoap/Makefile index 155c8837b0..1ad54e67a4 100644 --- a/pkg/microcoap/Makefile +++ b/pkg/microcoap/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/1248/microcoap.git PKG_VERSION=ef272895925f0d4c563725fe0102966f544a0fdc PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/micropython/Makefile b/pkg/micropython/Makefile index f29342605e..6a1015b64e 100644 --- a/pkg/micropython/Makefile +++ b/pkg/micropython/Makefile @@ -5,10 +5,8 @@ PKG_LICENSE=MIT CFLAGS += -Wno-implicit-fallthrough -Wno-unused-parameter -Wno-error -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: @mkdir -p $(PKG_BUILDDIR)/tmp - BUILD=$(PKG_BUILDDIR) "$(MAKE)" -C $(PKG_BUILDDIR)/ports/riot - -include $(RIOTBASE)/pkg/pkg.mk + BUILD=$(PKG_BUILDDIR) "$(MAKE)" -C $(PKG_BUILDDIR)/ports/riot \ No newline at end of file diff --git a/pkg/minmea/Makefile b/pkg/minmea/Makefile index a919a42b29..bfa8aaca4c 100644 --- a/pkg/minmea/Makefile +++ b/pkg/minmea/Makefile @@ -3,10 +3,8 @@ PKG_URL=https://github.com/kosma/minmea PKG_VERSION=ae4dd9442a9041345d5ef108f062e7e4ec6954f2 PKG_LICENSE=WTFPL -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: @cp Makefile.$(PKG_NAME) $(PKG_BUILDDIR)/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/monocypher/Makefile b/pkg/monocypher/Makefile index 010d96ddd3..fcd96b64c9 100644 --- a/pkg/monocypher/Makefile +++ b/pkg/monocypher/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/LoupVaillant/Monocypher PKG_VERSION=d9cc2aea29158971ed4b7dc074efdcb35e7183d5 PKG_LICENSE=CC-0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: $(Q)"$(MAKE)" -C $(PKG_BUILDDIR)/src - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/nanocbor/Makefile b/pkg/nanocbor/Makefile index f5df0dc631..312c233746 100644 --- a/pkg/nanocbor/Makefile +++ b/pkg/nanocbor/Makefile @@ -3,10 +3,8 @@ PKG_URL = https://github.com/bergzand/nanocbor PKG_VERSION = 3a672f79b2458a96393447e50a41174f741eadc5 PKG_LICENSE = LGPL-2.1 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: git-download +all: "$(MAKE)" -C $(PKG_BUILDDIR)/src \ -f $(RIOTPKG)/nanocbor/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/nanopb/Makefile b/pkg/nanopb/Makefile index 1e43d8d56e..422a5abc79 100644 --- a/pkg/nanopb/Makefile +++ b/pkg/nanopb/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/nanopb/nanopb PKG_VERSION=493adf3616bee052649c63c473f8355630c2797f # nanopb-0.3.9.4 PKG_LICENSE=MIT -.PHONY: all - -all: git-download - "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.nanopb - include $(RIOTBASE)/pkg/pkg.mk + +all: + "$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.nanopb diff --git a/pkg/ndn-riot/Makefile b/pkg/ndn-riot/Makefile index a892281ced..81a133631e 100644 --- a/pkg/ndn-riot/Makefile +++ b/pkg/ndn-riot/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/named-data-iot/ndn-riot PKG_VERSION=34c5eb8adf198049f0a56048825b505c561a8874 PKG_LICENSE=LGPLv2.1 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/nimble/Makefile b/pkg/nimble/Makefile index 828bb65d27..bcfc62cde4 100644 --- a/pkg/nimble/Makefile +++ b/pkg/nimble/Makefile @@ -3,6 +3,8 @@ PKG_URL = https://github.com/apache/mynewt-nimble.git PKG_VERSION = 946cfb7ff27fcf3adacebcd50c159b89d854fbf2 PKG_LICENSE = Apache-2.0 +include $(RIOTBASE)/pkg/pkg.mk + TDIR = $(RIOTPKG)/$(PKG_NAME) PDIR = $(PKG_BUILDDIR) @@ -86,5 +88,3 @@ nimble_scanlist: nimble_scanner: "$(MAKE)" -C $(TDIR)/scanner - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/oonf_api/Makefile b/pkg/oonf_api/Makefile index dc5c604723..dc0717569d 100644 --- a/pkg/oonf_api/Makefile +++ b/pkg/oonf_api/Makefile @@ -3,6 +3,8 @@ PKG_URL=https://github.com/OLSR/OONF.git PKG_VERSION=v0.3.0 PKG_LICENSE=BSD-3-Clause +include $(RIOTBASE)/pkg/pkg.mk + MODULE:=$(PKG_NAME) # GCC 7.x fails on (intentional) fallthrough, thus disable implicit-fallthrough. @@ -10,8 +12,6 @@ CFLAGS += -Wno-implicit-fallthrough COMBINED_ARCHIVE = $(BINDIR)/$(MODULE).a -.PHONY: all - all: "$(MAKE)" -C $(PKG_BUILDDIR) "$(MAKE)" $(COMBINED_ARCHIVE) @@ -37,7 +37,6 @@ $(BINDIR)/$(MODULE).mri: $(file >$@,$(call MRI_TEMPLATE,$(COMBINED_ARCHIVE),$(PARTIAL_ARCHIVES))) @true -include $(RIOTBASE)/pkg/pkg.mk ifneq (,$(filter -Wformat-nonliteral -Wformat=2, $(CFLAGS))) CFLAGS += -Wno-format-nonliteral endif diff --git a/pkg/openthread/Makefile b/pkg/openthread/Makefile index 98e89e9be8..64788075a1 100644 --- a/pkg/openthread/Makefile +++ b/pkg/openthread/Makefile @@ -4,6 +4,8 @@ PKG_VERSION=thread-reference-20180926 PKG_LICENSE=BSD-3-Clause PKG_BUILDDIR ?= $(PKGDIRBASE)/$(PKG_NAME) +include $(RIOTBASE)/pkg/pkg.mk + ifneq (,$(filter openthread-ftd,$(USEMODULE))) TD = ftd $(info Compile OpenThread for FTD device) @@ -23,8 +25,6 @@ OPENTHREAD_ARGS += $(CLI_ARG) $(JOINER_ARG) --enable-application-coap CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"platform_config.h\"' $(info $$OPENTHREAD_ARGS is [${OPENTHREAD_ARGS}]) -.PHONY: all - OPENTHREAD_COMMON_FLAGS = -fdata-sections -ffunction-sections -Os OPENTHREAD_COMMON_FLAGS += -Wno-implicit-fallthrough -Wno-unused-parameter @@ -48,5 +48,3 @@ all: ifneq (,$(filter openthread-cli,$(USEMODULE))) cp $(PKG_BUILDDIR)/output/lib/libopenthread-cli-$(TD).a ${BINDIR}/openthread-cli.a endif - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/pkg.mk b/pkg/pkg.mk index b159535eea..52c58b8682 100644 --- a/pkg/pkg.mk +++ b/pkg/pkg.mk @@ -1,6 +1,15 @@ # # Include this file if your Package needs to be checked out by git # +# A package is up to date when its '.git-prepared' file is up to date. +# Any change to the package makefile will force updating the repository +# +# Packages should include this file just after defining the PKG_* variables +# This will ensure the variables are defined in the Makefile. + +ifneq (,$(.DEFAULT_GOAL)) + $(error $(lastword $(MAKEFILE_LIST)) must be included at the beginning of the file after defining the PKG_* variables) +endif ifeq (,$(PKG_NAME)) $(error PKG_NAME not defined) @@ -15,8 +24,8 @@ ifeq (,$(PKG_LICENSE)) $(error PKG_LICENSE not defined) endif -PKG_DIR?=$(CURDIR) -PKG_BUILDDIR?=$(PKGDIRBASE)/$(PKG_NAME) +PKG_DIR ?= $(CURDIR) +PKG_BUILDDIR ?= $(PKGDIRBASE)/$(PKG_NAME) PKG_SOURCE_LOCAL ?= $(PKG_SOURCE_LOCAL_$(shell echo $(PKG_NAME) | tr a-z- A-Z_)) # allow overriding package source with local folder (useful during development) @@ -24,58 +33,80 @@ ifneq (,$(PKG_SOURCE_LOCAL)) include $(RIOTBASE)/pkg/local.mk else -.PHONY: prepare git-download clean git-ensure-version - -prepare: git-download - -ifneq (,$(wildcard $(PKG_DIR)/patches)) -git-download: $(PKG_BUILDDIR)/.git-patched -else -git-download: git-ensure-version -endif - ifeq ($(QUIET),1) GIT_QUIET ?= --quiet endif +GITFLAGS ?= -c user.email=buildsystem@riot -c user.name="RIOT buildsystem" +GITAMFLAGS ?= $(GIT_QUIET) --no-gpg-sign --ignore-whitespace --whitespace=nowarn + +.PHONY: all prepare clean distclean FORCE + +PKG_PATCHES = $(sort $(wildcard $(PKG_DIR)/patches/*.patch)) + +PKG_STATE_FILE = .pkg-state.git +PKG_STATE = $(PKG_BUILDDIR)/$(PKG_STATE_FILE) + +PKG_PREPARED = $(PKG_STATE)-prepared +PKG_PATCHED = $(PKG_STATE)-patched +PKG_DOWNLOADED = $(PKG_STATE)-downloaded + +# Declare 'all' first to have it being the default target +all: $(PKG_PREPARED) +prepare: $(PKG_PREPARED) + +# Allow packages to add a custom step to be `prepared`. +# It should be a dependency of `$(PKG_PREPARED)` and depend on `$(PKG_PATCHED)` +$(PKG_PREPARED): $(PKG_PATCHED) + @touch $@ + # Use explicit '--git-dir' and '--work-tree' to prevent issues when the # directory is not a git repository for any reason (clean -xdff or others) GIT_IN_PKG = git -C $(PKG_BUILDDIR) --git-dir=.git --work-tree=. -GITFLAGS ?= -c user.email=buildsystem@riot -c user.name="RIOT buildsystem" -GITAMFLAGS ?= $(GIT_QUIET) --no-gpg-sign --ignore-whitespace --whitespace=nowarn +# When $(PKG_PATCHED).d is included $(PKG_PATCHED) pre-requisites will include +# the old pre-requisites forcing a rebuild on pre-requisite removal, but we do +# not want to generate $(PKG_PATCHED).d with the old pre-requisites +PKG_PATCHED_PRE_REQUISITES = $(PKG_PATCHES) $(PKG_DOWNLOADED) $(MAKEFILE_LIST) -ifneq (,$(wildcard $(PKG_DIR)/patches)) -$(PKG_BUILDDIR)/.git-patched: git-ensure-version $(PKG_DIR)/Makefile $(PKG_DIR)/patches/*.patch +# Generate dependency file. Force rebuilding on dependency deletion +# Warning: It will be evaluated before target execution, so use as first step +# $1: output file name +gen_dependency_files = $(file >$1,$@: $2)$(foreach f,$2,$(file >>$1,$(f):)) + +# Patch the package +# * create dependencies files +# * clean, without removing the 'state' files +# * checkout the wanted base commit +# * apply patches if there are any. (If none, it does nothing) +$(PKG_PATCHED): $(PKG_PATCHED_PRE_REQUISITES) + $(info [INFO] patch $(PKG_NAME)) + $(call gen_dependency_files,$@.d,$(PKG_PATCHED_PRE_REQUISITES)) + $(Q)$(GIT_IN_PKG) clean $(GIT_QUIET) -xdff '**' $(PKG_STATE:$(PKG_BUILDDIR)/%=':!%*') $(Q)$(GIT_IN_PKG) checkout $(GIT_QUIET) -f $(PKG_VERSION) - $(Q)$(GIT_IN_PKG) $(GITFLAGS) am $(GITAMFLAGS) "$(PKG_DIR)"/patches/*.patch - $(Q)touch $@ -endif + $(Q)$(GIT_IN_PKG) $(GITFLAGS) am $(GITAMFLAGS) $(PKG_PATCHES) $@ -$(PKG_BUILDDIR)/.git-downloaded: +$(PKG_BUILDDIR)/.git: + $(info [INFO] cloning $(PKG_NAME)) $(Q)rm -Rf $(PKG_BUILDDIR) $(Q)mkdir -p $(PKG_BUILDDIR) - $(Q)$(GITCACHE) clone "$(PKG_URL)" "$(PKG_VERSION)" "$(PKG_BUILDDIR)" - $(Q)touch $@ + $(Q)$(GITCACHE) clone $(PKG_URL) $(PKG_VERSION) $(PKG_BUILDDIR) clean:: - @test -d $(PKG_BUILDDIR) && { \ - rm $(PKG_BUILDDIR)/.git-patched ; \ - $(GIT_IN_PKG) clean -f ; \ - $(GIT_IN_PKG) checkout "$(PKG_VERSION)"; \ - make $(PKG_BUILDDIR)/.git-patched ; \ - touch $(PKG_BUILDDIR)/.git-downloaded ; \ - } > /dev/null 2>&1 || true + @-test -d $(PKG_BUILDDIR) && $(GIT_IN_PKG) clean $(GIT_QUIET) -xdff distclean:: - rm -rf "$(PKG_BUILDDIR)" + rm -rf $(PKG_BUILDDIR) +# Dependencies to 'patches' +-include $(PKG_PATCHED).d + +# Reset goal for package +.DEFAULT_GOAL = endif diff --git a/pkg/qDSA/Makefile b/pkg/qDSA/Makefile index 7bb88ae9a0..7651801db3 100644 --- a/pkg/qDSA/Makefile +++ b/pkg/qDSA/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/RIOT-OS/qDSA.git PKG_VERSION=dd2392b0c81ce4187fd3e1e2d3e0a4767f75782e PKG_LICENSE=PD -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/$(QDSA_IMPL) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/relic/Makefile b/pkg/relic/Makefile index 6a5d2983e2..088564eb28 100644 --- a/pkg/relic/Makefile +++ b/pkg/relic/Makefile @@ -3,41 +3,38 @@ PKG_URL=https://github.com/relic-toolkit/relic.git PKG_VERSION=0b0442a8218df8d309266923f2dd5b9ae3b318ce PKG_LICENSE=LGPL-2.1 -.PHONY: all ..cmake_version_supported +include $(RIOTBASE)/pkg/pkg.mk + +.PHONY: ..cmake_version_supported CMAKE_MINIMAL_VERSION = 3.6.0 - CFLAGS += -Wno-gnu-zero-variadic-macro-arguments -Wno-unused-function -Wno-newline-eof -TOOLCHAIN_FILE=$(PKG_BUILDDIR)/xcompile-toolchain.cmake +TOOLCHAIN_FILE = $(PKG_BUILDDIR)/xcompile-toolchain.cmake -all: $(PKG_BUILDDIR)/Makefile - $(MAKE) -C $(PKG_BUILDDIR) && \ - cp $(PKG_BUILDDIR)/lib/librelic_s.a $(BINDIR)/$(PKG_NAME).a +all: $(BINDIR)/$(PKG_NAME).a + +$(BINDIR)/$(PKG_NAME).a: $(PKG_BUILDDIR)/lib/librelic_s.a + cp $< $@ + +$(PKG_BUILDDIR)/lib/librelic_s.a: $(PKG_BUILDDIR)/Makefile + $(MAKE) -C $(PKG_BUILDDIR) # Pass 'COMP' with a target specific export to not have issues with the shell # escaping evaluation. COMP = $(filter-out -Werror -Werror=old-style-definition -Werror=strict-prototypes -std=gnu99,$(CFLAGS)) $(PKG_BUILDDIR)/Makefile: export COMP ?= +$(PKG_BUILDDIR)/Makefile: $(PKG_PREPARED) $(TOOLCHAIN_FILE) | ..cmake_version_supported + cmake -B$(PKG_BUILDDIR) -H$(PKG_BUILDDIR) \ + -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) \ + -DCHECK=off -DTESTS=0 -DBENCH=0 -DSHLIB=off -Wno-dev $(RELIC_CONFIG_FLAGS) -$(PKG_BUILDDIR)/Makefile: $(TOOLCHAIN_FILE) - cd $(PKG_BUILDDIR) && \ - cmake -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) \ - -DCHECK=off -DTESTS=0 -DBENCH=0 -DSHLIB=off -Wno-dev $(RELIC_CONFIG_FLAGS) . - -$(TOOLCHAIN_FILE): git-download +$(TOOLCHAIN_FILE): FORCE $(RIOTTOOLS)/cmake/generate-xcompile-toolchain.sh > $(TOOLCHAIN_FILE) -git-download: | ..cmake_version_supported - ..cmake_version_supported: @ # Remove '-rcX' from version as they are not well handled $(Q)\ CMAKE_VERSION=$$(cmake --version | sed -n '1 {s/cmake version //;s/-rc.*//;p;}'); \ $(RIOTTOOLS)/has_minimal_version/has_minimal_version.sh "$${CMAKE_VERSION}" "$(CMAKE_MINIMAL_VERSION)" cmake - -clean:: - @rm -rf $(BINDIR)/$(PKG_NAME).a - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/semtech-loramac/Makefile b/pkg/semtech-loramac/Makefile index 3eb9a007b4..87edb202c9 100644 --- a/pkg/semtech-loramac/Makefile +++ b/pkg/semtech-loramac/Makefile @@ -3,7 +3,7 @@ PKG_URL=https://github.com/Lora-net/LoRaMac-node.git PKG_VERSION=1cdd9ccec4c9f05b616e7112059be4a9e358c571 PKG_LICENSE=BSD-3-Clause -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: @cp Makefile.loramac $(PKG_BUILDDIR)/Makefile @@ -12,5 +12,3 @@ all: @cp Makefile.loramac_crypto $(PKG_BUILDDIR)/src/system/crypto/Makefile @cp Makefile.loramac_arch $(PKG_BUILDDIR)/src/boards/mcu/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/spiffs/Makefile b/pkg/spiffs/Makefile index 2d95554124..849c6df259 100644 --- a/pkg/spiffs/Makefile +++ b/pkg/spiffs/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/pellepl/spiffs.git PKG_VERSION=287148c46587089c4543a21eef2d6e9e14b88364 PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.spiffs - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/talking_leds/Makefile b/pkg/talking_leds/Makefile index ac27ea79eb..051b737835 100644 --- a/pkg/talking_leds/Makefile +++ b/pkg/talking_leds/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/fabriziop/TalkingLED PKG_VERSION=8ae4f2d0b736aa338f24e097dbaf876fbb385dbd PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.talking_leds - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/tiny-asn1/Makefile b/pkg/tiny-asn1/Makefile index e43e99289c..11a19be1b8 100644 --- a/pkg/tiny-asn1/Makefile +++ b/pkg/tiny-asn1/Makefile @@ -3,9 +3,7 @@ PKG_URL = https://gitlab.com/mtausig/tiny-asn1.git PKG_VERSION = 5155ee9c8f0908af955ca2026c349ba8a5e12bc2 PKG_LICENSE = LGPL-3 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/tinycbor/Makefile b/pkg/tinycbor/Makefile index d863a53086..fbba4605ef 100644 --- a/pkg/tinycbor/Makefile +++ b/pkg/tinycbor/Makefile @@ -4,9 +4,7 @@ PKG_URL=https://github.com/intel/tinycbor PKG_VERSION=d94ca09aa91f5b3c581527aa8bca179a82b79874 PKG_LICENSE=MIT -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.tinycbor - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/tinycrypt/Makefile b/pkg/tinycrypt/Makefile index f7fb9961dd..1f189f723a 100644 --- a/pkg/tinycrypt/Makefile +++ b/pkg/tinycrypt/Makefile @@ -3,10 +3,8 @@ PKG_URL=https://github.com/01org/tinycrypt PKG_VERSION=6a22712bebbf2fc60d9fc6192dddefd5ad1933e3 PKG_LICENSE=BSD-3-Clause -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BUILDDIR)/lib/source/ \ -f $(RIOTPKG)/tinycrypt/Makefile.$(PKG_NAME) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/tinydtls/Makefile b/pkg/tinydtls/Makefile index cfe35f946a..6722bc15bd 100644 --- a/pkg/tinydtls/Makefile +++ b/pkg/tinydtls/Makefile @@ -3,21 +3,19 @@ PKG_URL=https://github.com/eclipse/tinydtls.git PKG_VERSION=7a0420bfe3c041789cc0fe87822832f2fd12d0c3 PKG_LICENSE=EPL-1.0,EDL-1.0 +include $(RIOTBASE)/pkg/pkg.mk + CFLAGS += -Wno-implicit-fallthrough # following is require due to known issue with newlib 2.4.x, see bug report: # http://lists-archives.com/cygwin/97008-gettimeofday-not-defined.html CFLAGS += -D_XOPEN_SOURCE=600 -.PHONY: all - all: @cp $(PKG_BUILDDIR)/Makefile.riot $(PKG_BUILDDIR)/Makefile @cp $(PKG_BUILDDIR)/aes/Makefile.riot $(PKG_BUILDDIR)/aes/Makefile @cp $(PKG_BUILDDIR)/ecc/Makefile.riot $(PKG_BUILDDIR)/ecc/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) -include $(RIOTBASE)/pkg/pkg.mk - ifeq (llvm,$(TOOLCHAIN)) CFLAGS += -Wno-format-nonliteral endif diff --git a/pkg/tlsf/Makefile b/pkg/tlsf/Makefile index 8ccdebf817..cd7e3278ac 100644 --- a/pkg/tlsf/Makefile +++ b/pkg/tlsf/Makefile @@ -3,11 +3,8 @@ PKG_URL=https://github.com/mattconte/tlsf PKG_VERSION=a1f743ffac0305408b39e791e0ffb45f6d9bc777 PKG_LICENSE=BSD -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: Makefile.tlsf @cp Makefile.tlsf $(PKG_BUILDDIR)/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/tweetnacl/Makefile b/pkg/tweetnacl/Makefile index f946c4dd75..b902e43543 100644 --- a/pkg/tweetnacl/Makefile +++ b/pkg/tweetnacl/Makefile @@ -3,9 +3,7 @@ PKG_URL=https://github.com/RIOT-OS/tweetnacl PKG_VERSION=7ea05c7098a16c87fa66e9166ce301666f3f2623 PKG_LICENSE=PD -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: $(Q)"$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.riot - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/u8g2/Makefile b/pkg/u8g2/Makefile index 53b3bdbb62..f4c23e36ee 100644 --- a/pkg/u8g2/Makefile +++ b/pkg/u8g2/Makefile @@ -3,14 +3,12 @@ PKG_URL=https://github.com/olikraus/u8g2 PKG_VERSION=f08ff974c03e5c848bc5d2ae3fddb6a97897881a PKG_LICENSE=BSD-2-Clause -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: - cp $(RIOTBASE)/pkg/u8g2/src/Makefile $(PKG_BUILDDIR)/Makefile - cp $(RIOTBASE)/pkg/u8g2/src/csrc/Makefile $(PKG_BUILDDIR)/csrc/Makefile - cp $(RIOTBASE)/pkg/u8g2/src/csrc/u8g2_riotos.c $(PKG_BUILDDIR)/csrc/u8g2_riotos.c - cp $(RIOTBASE)/pkg/u8g2/src/sys/sdl/common/Makefile $(PKG_BUILDDIR)/sys/sdl/common/Makefile - cp $(RIOTBASE)/pkg/u8g2/src/sys/utf8/common/Makefile $(PKG_BUILDDIR)/sys/utf8/common/Makefile + cp -u src/Makefile $(PKG_BUILDDIR)/Makefile + cp -u src/csrc/Makefile $(PKG_BUILDDIR)/csrc/Makefile + cp -u src/csrc/u8g2_riotos.c $(PKG_BUILDDIR)/csrc/u8g2_riotos.c + cp -u src/sys/sdl/common/Makefile $(PKG_BUILDDIR)/sys/sdl/common/Makefile + cp -u src/sys/utf8/common/Makefile $(PKG_BUILDDIR)/sys/utf8/common/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/ubasic/Makefile b/pkg/ubasic/Makefile index 73b7f40743..b054cb66ed 100644 --- a/pkg/ubasic/Makefile +++ b/pkg/ubasic/Makefile @@ -3,10 +3,12 @@ PKG_URL=https://github.com/adamdunkels/ubasic PKG_VERSION=cc07193c231e21ecb418335aba5b199a08d4685c PKG_LICENSE=BSD-3-Clause +include $(RIOTBASE)/pkg/pkg.mk + UBASIC_MODULES = ubasic_tests UBASIC_USEMODULE = $(filter $(UBASIC_MODULES),$(USEMODULE)) -.PHONY: all ubasic ubasic% +.PHONY: ubasic ubasic% all: ubasic @@ -17,5 +19,3 @@ ubasic: $(UBASIC_USEMODULE) ubasic%: $(call make_module,$@,$(PKG_BUILDDIR)) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/ucglib/Makefile b/pkg/ucglib/Makefile index 898f96e60f..76fe1824d5 100644 --- a/pkg/ucglib/Makefile +++ b/pkg/ucglib/Makefile @@ -3,13 +3,11 @@ PKG_URL=https://github.com/olikraus/ucglib PKG_VERSION=bf48515702dd7c87cbacdd17989738f33f003df2 PKG_LICENSE=BSD-2-Clause -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: - cp $(RIOTBASE)/pkg/ucglib/src/Makefile $(PKG_BUILDDIR)/Makefile - cp $(RIOTBASE)/pkg/ucglib/src/csrc/Makefile $(PKG_BUILDDIR)/csrc/Makefile - cp $(RIOTBASE)/pkg/ucglib/src/csrc/ucg_riotos.c $(PKG_BUILDDIR)/csrc/ucg_riotos.c - cp $(RIOTBASE)/pkg/ucglib/src/sys/sdl/dev/Makefile $(PKG_BUILDDIR)/sys/sdl/dev/Makefile + cp -u src/Makefile $(PKG_BUILDDIR)/Makefile + cp -u src/csrc/Makefile $(PKG_BUILDDIR)/csrc/Makefile + cp -u src/csrc/ucg_riotos.c $(PKG_BUILDDIR)/csrc/ucg_riotos.c + cp -u src/sys/sdl/dev/Makefile $(PKG_BUILDDIR)/sys/sdl/dev/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/umorse/Makefile b/pkg/umorse/Makefile index a4a728bbbe..d460d12c92 100644 --- a/pkg/umorse/Makefile +++ b/pkg/umorse/Makefile @@ -3,12 +3,10 @@ PKG_URL=https://github.com/smlng/uMorse PKG_VERSION=1dc14abdba22cca2f7efc053b2bce327bc7db97e PKG_LICENSE=MIT -CFLAGS += -D_XOPEN_SOURCE=600 +include $(RIOTBASE)/pkg/pkg.mk -.PHONY: all +CFLAGS += -D_XOPEN_SOURCE=600 all: @cp Makefile.umorse $(PKG_BUILDDIR)/Makefile "$(MAKE)" -C $(PKG_BUILDDIR) - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/utensor/Makefile b/pkg/utensor/Makefile index de34ac9732..ecaa66b2e1 100644 --- a/pkg/utensor/Makefile +++ b/pkg/utensor/Makefile @@ -5,12 +5,9 @@ PKG_LICENSE=Apache2.0 PKG_BASEDIR = $(PKG_BUILDDIR)/src/uTensor -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk all: "$(MAKE)" -C $(PKG_BASEDIR)/core -f $(CURDIR)/Makefile.$(PKG_NAME) "$(MAKE)" -C $(PKG_BASEDIR)/util -f $(CURDIR)/Makefile.$(PKG_NAME).util "$(MAKE)" -C $(PKG_BASEDIR)/ops -f $(CURDIR)/Makefile.$(PKG_NAME).ops - - -include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/wakaama/Makefile b/pkg/wakaama/Makefile index 1a94ddee31..551154d1ad 100644 --- a/pkg/wakaama/Makefile +++ b/pkg/wakaama/Makefile @@ -3,12 +3,13 @@ PKG_URL=https://github.com/eclipse/wakaama.git PKG_VERSION=da74b3c91570b9716fbb424e90935806b2b29814 PKG_LICENSE=EDL-1.0,EPL-1.0 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk -all: patch +all: "$(MAKE)" -C $(PKG_BUILDDIR) -patch: git-download +$(PKG_PREPARED): $(PKG_BUILDDIR)/copied +$(PKG_BUILDDIR)/copied: $(PKG_PATCHED) FORCE mkdir -p "$(PKG_BUILDDIR)" # copy the Wakaama core files cp $(PKG_BUILDDIR)/core/*.c $(PKG_BUILDDIR)/core/*.h $(PKG_BUILDDIR) @@ -20,6 +21,4 @@ patch: git-download cp $(PKG_BUILDDIR)/examples/client/object_access_control.c $(PKG_BUILDDIR) echo 'MODULE:=wakaama' > $(PKG_BUILDDIR)/Makefile - echo 'include $$(RIOTBASE)/Makefile.base' >> $(PKG_BUILDDIR)/Makefile - -include $(RIOTBASE)/pkg/pkg.mk + echo 'include $$(RIOTBASE)/Makefile.base' >> $(PKG_BUILDDIR)/Makefile \ No newline at end of file diff --git a/pkg/wolfssl/Makefile b/pkg/wolfssl/Makefile index e493ae89aa..fab9dc3d34 100644 --- a/pkg/wolfssl/Makefile +++ b/pkg/wolfssl/Makefile @@ -1,11 +1,10 @@ PKG_NAME=wolfssl PKG_URL=https://github.com/wolfssl/wolfssl.git - -# Current version: v4.1.0+ -PKG_VERSION=eaeaaf12c11dd52ab0cd6833252ed559656e9826 +PKG_VERSION=eaeaaf12c11dd52ab0cd6833252ed559656e9826 # v4.1.0+ PKG_LICENSE=GPLv2 -.PHONY: all +include $(RIOTBASE)/pkg/pkg.mk + all: # Nothing to do here when building prepare: @@ -14,5 +13,3 @@ prepare: touch $(PKG_BUILDDIR)/wolfssl.a cp Makefile.wolfcrypt-test $(PKG_BUILDDIR)/wolfcrypt/test/Makefile cp Makefile.wolfcrypt-benchmark $(PKG_BUILDDIR)/wolfcrypt/benchmark/Makefile - -include $(RIOTBASE)/pkg/pkg.mk