[PATCH v4 06/10] build: move config file handling into build.rules
Johannes Berg
johannes at sipsolutions.net
Wed Sep 9 03:41:14 EDT 2020
From: Johannes Berg <johannes.berg at intel.com>
This will make it easier to split out the handling in
a proper way, and handle common cflags/dependencies.
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
hostapd/Makefile | 13 +------------
src/build.rules | 23 ++++++++++++++++++++++-
wpa_supplicant/Makefile | 13 +------------
3 files changed, 24 insertions(+), 25 deletions(-)
diff --git a/hostapd/Makefile b/hostapd/Makefile
index 2e15c8911483..ac83730e9621 100644
--- a/hostapd/Makefile
+++ b/hostapd/Makefile
@@ -1,5 +1,5 @@
ALL=hostapd hostapd_cli
-VERIFY=verify_config
+CONFIG_FILE = .config
include ../src/build.rules
@@ -27,8 +27,6 @@ CFLAGS += -I$(abspath ../src/utils)
export BINDIR ?= /usr/local/bin/
--include .config
-
ifndef CONFIG_NO_GITVER
# Add VERSION_STR postfix for builds from a git repository
ifeq ($(wildcard ../.git),../.git)
@@ -1261,15 +1259,6 @@ ifdef CONFIG_NO_TKIP
CFLAGS += -DCONFIG_NO_TKIP
endif
-verify_config:
- @if [ ! -r .config ]; then \
- echo 'Building hostapd requires a configuration file'; \
- echo '(.config). See README for more instructions. You can'; \
- echo 'run "cp defconfig .config" to create an example'; \
- echo 'configuration.'; \
- exit 1; \
- fi
-
$(DESTDIR)$(BINDIR)/%: %
install -D $(<) $(@)
diff --git a/src/build.rules b/src/build.rules
index 18e23ea5338c..486fea65861e 100644
--- a/src/build.rules
+++ b/src/build.rules
@@ -1,5 +1,5 @@
.PHONY: all
-all: $(VERIFY) $(ALL) $(EXTRA_TARGETS)
+all: _all
# disable built-in rules
.SUFFIXES:
@@ -23,6 +23,27 @@ ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
+ifneq ($(CONFIG_FILE),)
+-include $(CONFIG_FILE)
+
+.PHONY: verify_config
+verify_config:
+ @if [ ! -r $(CONFIG_FILE) ]; then \
+ echo 'Building $(firstword $(ALL)) requires a configuration file'; \
+ echo '(.config). See README for more instructions. You can'; \
+ echo 'run "cp defconfig .config" to create an example'; \
+ echo 'configuration.'; \
+ exit 1; \
+ fi
+VERIFY := verify_config
+else
+VERIFY :=
+endif
+
+# default target
+.PHONY: _all
+_all: $(VERIFY) $(ALL) $(EXTRA_TARGETS)
+
Q=@
E=echo
ifeq ($(V), 1)
diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
index b18755bd7481..8645d908f821 100644
--- a/wpa_supplicant/Makefile
+++ b/wpa_supplicant/Makefile
@@ -14,9 +14,9 @@ ifdef CONFIG_BUILD_WPA_CLIENT_SO
ALL += libwpa_client.so
endif
-VERIFY=verify_config
EXTRA_TARGETS=dynamic_eap_methods
+CONFIG_FILE=.config
include ../src/build.rules
ifdef LIBS
@@ -39,8 +39,6 @@ CFLAGS += $(EXTRA_CFLAGS)
CFLAGS += -I$(abspath ../src)
CFLAGS += -I$(abspath ../src/utils)
--include .config
-
ifndef CONFIG_NO_GITVER
# Add VERSION_STR postfix for builds from a git repository
ifeq ($(wildcard ../.git),../.git)
@@ -57,15 +55,6 @@ CONFIG_WPS_TESTING=y
CONFIG_TDLS_TESTING=y
endif
-verify_config:
- @if [ ! -r .config ]; then \
- echo 'Building wpa_supplicant requires a configuration file'; \
- echo '(.config). See README for more instructions. You can'; \
- echo 'run "cp defconfig .config" to create an example'; \
- echo 'configuration.'; \
- exit 1; \
- fi
-
mkconfig:
@if [ -f .config ]; then \
echo '.config exists - did not replace it'; \
--
2.26.2
More information about the Hostap
mailing list