The kernels for Debian stretch require some special CFLAGS settings which are only correctly defined when NOSTDINC_FLAGS is defined inside the execution of the Makefile via kbuild. But batman-adv sets it currently outside to insert compatibility include headers and compat-sources.
This can be avoided by making the top Makefile kbuild compatible and redefining the NOSTDINC_FLAGS when kbuild include this Makefile. The actual build of the batman-adv module is then done by adding the subdirectory to obj-y.
Signed-off-by: Sven Eckelmann sven@narfation.org --- v3: - append NOSTDINC_FLAGS with our own flags instead of overwriting it v2: - Fixed noise from other patches in context (should now apply cleanly on next)
Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile index 5d2c058..2568fb2 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ RM ?= rm -f REVISION= $(shell if [ -d "$(PWD)/.git" ]; then \ echo $$(git --git-dir="$(PWD)/.git" describe --always --dirty --match "v*" |sed 's/^v//' 2> /dev/null || echo "[unknown]"); \ fi) -export NOSTDINC_FLAGS := \ +NOSTDINC_FLAGS += \ -I$(PWD)/compat-include/ \ -include $(PWD)/compat.h \ $(CFLAGS) @@ -52,8 +52,12 @@ ifneq ($(REVISION),) NOSTDINC_FLAGS += -DBATADV_SOURCE_VERSION="$(REVISION)" endif
+obj-y += net/batman-adv/ + BUILD_FLAGS := \ - M=$(PWD)/net/batman-adv \ + M=$(PWD) \ + PWD=$(PWD) \ + REVISION=$(REVISION) \ CONFIG_BATMAN_ADV=m \ CONFIG_BATMAN_ADV_DEBUG=$(CONFIG_BATMAN_ADV_DEBUG) \ CONFIG_BATMAN_ADV_BLA=$(CONFIG_BATMAN_ADV_BLA) \ @@ -61,7 +65,7 @@ BUILD_FLAGS := \ CONFIG_BATMAN_ADV_NC=$(CONFIG_BATMAN_ADV_NC) \ CONFIG_BATMAN_ADV_MCAST=$(CONFIG_BATMAN_ADV_MCAST) \ CONFIG_BATMAN_ADV_BATMAN_V=$(CONFIG_BATMAN_ADV_BATMAN_V) \ - INSTALL_MOD_DIR=updates/net/batman-adv/ + INSTALL_MOD_DIR=updates/
all: config $(MAKE) -C $(KERNELPATH) $(BUILD_FLAGS) modules
Tested-by: Martin Weinelt martin@darmstadt.freifunk.net
Thank you, this also fixes build on Debian Jessies 4.5 Backports Kernel.
Martin
On 28.05.2016 10:32, Sven Eckelmann wrote:
The kernels for Debian stretch require some special CFLAGS settings which are only correctly defined when NOSTDINC_FLAGS is defined inside the execution of the Makefile via kbuild. But batman-adv sets it currently outside to insert compatibility include headers and compat-sources.
This can be avoided by making the top Makefile kbuild compatible and redefining the NOSTDINC_FLAGS when kbuild include this Makefile. The actual build of the batman-adv module is then done by adding the subdirectory to obj-y.
Signed-off-by: Sven Eckelmann sven@narfation.org
v3:
- append NOSTDINC_FLAGS with our own flags instead of overwriting it
v2:
- Fixed noise from other patches in context (should now apply cleanly on next)
Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile index 5d2c058..2568fb2 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ RM ?= rm -f REVISION= $(shell if [ -d "$(PWD)/.git" ]; then \ echo $$(git --git-dir="$(PWD)/.git" describe --always --dirty --match "v*" |sed 's/^v//' 2> /dev/null || echo "[unknown]"); \ fi) -export NOSTDINC_FLAGS := \ +NOSTDINC_FLAGS += \ -I$(PWD)/compat-include/ \ -include $(PWD)/compat.h \ $(CFLAGS) @@ -52,8 +52,12 @@ ifneq ($(REVISION),) NOSTDINC_FLAGS += -DBATADV_SOURCE_VERSION="$(REVISION)" endif
+obj-y += net/batman-adv/
BUILD_FLAGS := \
- M=$(PWD)/net/batman-adv \
- M=$(PWD) \
- PWD=$(PWD) \
- REVISION=$(REVISION) \ CONFIG_BATMAN_ADV=m \ CONFIG_BATMAN_ADV_DEBUG=$(CONFIG_BATMAN_ADV_DEBUG) \ CONFIG_BATMAN_ADV_BLA=$(CONFIG_BATMAN_ADV_BLA) \
@@ -61,7 +65,7 @@ BUILD_FLAGS := \ CONFIG_BATMAN_ADV_NC=$(CONFIG_BATMAN_ADV_NC) \ CONFIG_BATMAN_ADV_MCAST=$(CONFIG_BATMAN_ADV_MCAST) \ CONFIG_BATMAN_ADV_BATMAN_V=$(CONFIG_BATMAN_ADV_BATMAN_V) \
- INSTALL_MOD_DIR=updates/net/batman-adv/
- INSTALL_MOD_DIR=updates/
all: config $(MAKE) -C $(KERNELPATH) $(BUILD_FLAGS) modules
On Tuesday, May 31, 2016 09:07:58 Martin Weinelt wrote:
Tested-by: Martin Weinelt martin@darmstadt.freifunk.net
Thank you, this also fixes build on Debian Jessies 4.5 Backports Kernel.
Applied in revision f8fd441.
Thanks, Marek
b.a.t.m.a.n@lists.open-mesh.org