[PATCH v5 11/15] build: use the new build system for fuzz tests
Johannes Berg
johannes at sipsolutions.net
Wed Sep 9 18:03:58 EDT 2020
From: Johannes Berg <johannes.berg at intel.com>
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
src/build.rules | 4 ++++
tests/fuzzing/ap-mgmt/Makefile | 14 +++++++------
tests/fuzzing/asn1/Makefile | 14 +++++++------
tests/fuzzing/dpp-uri/Makefile | 12 ++++++-----
tests/fuzzing/eap-aka-peer/Makefile | 14 +++++++------
tests/fuzzing/eap-mschapv2-peer/Makefile | 14 +++++++------
tests/fuzzing/eap-sim-peer/Makefile | 14 +++++++------
tests/fuzzing/eapol-key-auth/Makefile | 14 +++++++------
tests/fuzzing/eapol-key-supp/Makefile | 14 +++++++------
tests/fuzzing/eapol-supp/Makefile | 14 +++++++------
tests/fuzzing/json/Makefile | 15 +++++++-------
tests/fuzzing/p2p/Makefile | 14 +++++++------
tests/fuzzing/rules.include | 26 +++---------------------
tests/fuzzing/sae/Makefile | 14 +++++++------
tests/fuzzing/tls-client/Makefile | 15 +++++++-------
tests/fuzzing/tls-server/Makefile | 15 +++++++-------
tests/fuzzing/wnm/Makefile | 15 +++++++-------
tests/fuzzing/x509/Makefile | 15 +++++++-------
18 files changed, 134 insertions(+), 123 deletions(-)
diff --git a/src/build.rules b/src/build.rules
index bdcae65519cf..2437a05eee9d 100644
--- a/src/build.rules
+++ b/src/build.rules
@@ -82,6 +82,10 @@ $(BUILDDIR)/$(PROJ)/src/%.o: $(ROOTDIR)src/%.c $(CONFIG_FILE) | _make_dirs
$(BUILDDIR)/$(PROJ)/%.o: %.c $(CONFIG_FILE) | _make_dirs
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
+# for the fuzzing tests
+$(BUILDDIR)/$(PROJ)/wpa_supplicant/%.o: $(ROOTDIR)wpa_supplicant/%.c $(CONFIG_FILE) | _make_dirs
+ $(Q)$(CC) -c -o $@ $(CFLAGS) $<
+ @$(E) " CC " $<
BUILDOBJ = $(patsubst %,$(BUILDDIR)/$(PROJ)/%,$(patsubst $(ROOTDIR)%,%,$(1)))
diff --git a/tests/fuzzing/ap-mgmt/Makefile b/tests/fuzzing/ap-mgmt/Makefile
index 192ae723e2d8..159c7c3f8106 100644
--- a/tests/fuzzing/ap-mgmt/Makefile
+++ b/tests/fuzzing/ap-mgmt/Makefile
@@ -1,4 +1,4 @@
-all: ap-mgmt
+ALL=ap-mgmt
include ../rules.include
CFLAGS += -DCONFIG_WNM
@@ -26,11 +26,13 @@ ELIBS += $(SRC)/tls/libtls.a
OBJS += $(SRC)/drivers/driver_common.o
-ap-mgmt: ap-mgmt.o $(OBJS) $(LIBS)
+OBJS += ap-mgmt.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+ap-mgmt: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f ap-mgmt *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/asn1/Makefile b/tests/fuzzing/asn1/Makefile
index 4286259342ec..fb8fbed684ef 100644
--- a/tests/fuzzing/asn1/Makefile
+++ b/tests/fuzzing/asn1/Makefile
@@ -1,4 +1,4 @@
-all: asn1
+ALL=asn1
include ../rules.include
OBJS += $(SRC)/utils/common.o
@@ -7,12 +7,14 @@ OBJS += $(SRC)/utils/wpa_debug.o
OBJS += $(SRC)/utils/wpabuf.o
OBJS += $(SRC)/tls/asn1.o
-asn1: asn1.o $(OBJS) $(LIBS)
+OBJS += asn1.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+asn1: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
+clean: common-clean
$(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
rm -f asn1 *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/dpp-uri/Makefile b/tests/fuzzing/dpp-uri/Makefile
index 07bfac06c826..aca8f02ad434 100644
--- a/tests/fuzzing/dpp-uri/Makefile
+++ b/tests/fuzzing/dpp-uri/Makefile
@@ -28,11 +28,13 @@ OBJS += $(SRC)/common/dpp_pkex.o
OBJS += $(SRC)/common/dpp_reconfig.o
OBJS += $(SRC)/common/dpp_tcp.o
-dpp-uri: dpp-uri.o $(OBJS) $(LIBS)
+OBJS += dpp-uri.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+dpp-uri: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ -lcrypto
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f dpp-uri *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eap-aka-peer/Makefile b/tests/fuzzing/eap-aka-peer/Makefile
index d1a4cd372ba5..bd960caa763e 100644
--- a/tests/fuzzing/eap-aka-peer/Makefile
+++ b/tests/fuzzing/eap-aka-peer/Makefile
@@ -1,4 +1,4 @@
-all: eap-aka-peer
+ALL=eap-aka-peer
include ../rules.include
CFLAGS += -DIEEE8021X_EAPOL
@@ -10,12 +10,14 @@ OBJS += $(SRC)/eap_common/eap_common.o
LIBS += $(SRC)/crypto/libcrypto.a
LIBS += $(SRC)/utils/libutils.a
-eap-aka-peer: eap-aka-peer.o $(OBJS) $(LIBS)
+OBJS += eap-aka-peer.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eap-aka-peer: $(OBJS) $(LIBS)
$(Q)$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
@$(E) " LD " $@
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eap-aka-peer *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eap-mschapv2-peer/Makefile b/tests/fuzzing/eap-mschapv2-peer/Makefile
index 801e0af816cb..953855c85ed4 100644
--- a/tests/fuzzing/eap-mschapv2-peer/Makefile
+++ b/tests/fuzzing/eap-mschapv2-peer/Makefile
@@ -1,4 +1,4 @@
-all: eap-mschapv2-peer
+ALL=eap-mschapv2-peer
include ../rules.include
CFLAGS += -DIEEE8021X_EAPOL
@@ -9,12 +9,14 @@ OBJS += $(SRC)/eap_common/eap_common.o
LIBS += $(SRC)/crypto/libcrypto.a
LIBS += $(SRC)/utils/libutils.a
-eap-mschapv2-peer: eap-mschapv2-peer.o $(OBJS) $(LIBS)
+OBJS += eap-mschapv2-peer.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eap-mschapv2-peer: $(OBJS) $(LIBS)
$(Q)$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
@$(E) " LD " $@
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eap-mschapv2-peer *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eap-sim-peer/Makefile b/tests/fuzzing/eap-sim-peer/Makefile
index 302717e95f1d..9292ccb79b2d 100644
--- a/tests/fuzzing/eap-sim-peer/Makefile
+++ b/tests/fuzzing/eap-sim-peer/Makefile
@@ -1,4 +1,4 @@
-all: eap-sim-peer
+ALL=eap-sim-peer
include ../rules.include
CFLAGS += -DIEEE8021X_EAPOL
@@ -10,12 +10,14 @@ OBJS += $(SRC)/eap_common/eap_common.o
LIBS += $(SRC)/crypto/libcrypto.a
LIBS += $(SRC)/utils/libutils.a
-eap-sim-peer: eap-sim-peer.o $(OBJS) $(LIBS)
+OBJS += eap-sim-peer.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eap-sim-peer: $(OBJS) $(LIBS)
$(Q)$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
@$(E) " LD " $@
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eap-sim-peer *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eapol-key-auth/Makefile b/tests/fuzzing/eapol-key-auth/Makefile
index bd2b2756600f..bdc731ff4931 100644
--- a/tests/fuzzing/eapol-key-auth/Makefile
+++ b/tests/fuzzing/eapol-key-auth/Makefile
@@ -1,4 +1,4 @@
-all: eapol-key-auth
+ALL=eapol-key-auth
include ../rules.include
CFLAGS += -DCONFIG_IEEE80211R_AP
@@ -19,11 +19,13 @@ LIBS += $(SRC)/radius/libradius.a
OBJS += $(SRC)/drivers/driver_common.o
-eapol-key-auth: eapol-key-auth.o $(OBJS) $(LIBS)
+OBJS += eapol-key-auth.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eapol-key-auth: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ -Wl,--start-group $(LIBS) -Wl,--end-group
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eapol-key-auth *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eapol-key-supp/Makefile b/tests/fuzzing/eapol-key-supp/Makefile
index afe566584634..29e419b7cd03 100644
--- a/tests/fuzzing/eapol-key-supp/Makefile
+++ b/tests/fuzzing/eapol-key-supp/Makefile
@@ -1,4 +1,4 @@
-all: eapol-key-supp
+ALL=eapol-key-supp
include ../rules.include
CFLAGS += -DCONFIG_IEEE80211R_AP
@@ -15,11 +15,13 @@ LIBS += $(SRC)/eap_common/libeap_common.a
LIBS += $(SRC)/l2_packet/libl2_packet.a
LIBS += $(SRC)/utils/libutils.a
-eapol-key-supp: eapol-key-supp.o $(OBJS) $(LIBS)
+OBJS += eapol-key-supp.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eapol-key-supp: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ -Wl,--start-group $(LIBS) -Wl,--end-group
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eapol-key-supp *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/eapol-supp/Makefile b/tests/fuzzing/eapol-supp/Makefile
index 41a505d3720e..27e631148df1 100644
--- a/tests/fuzzing/eapol-supp/Makefile
+++ b/tests/fuzzing/eapol-supp/Makefile
@@ -1,4 +1,4 @@
-all: eapol-supp
+ALL=eapol-supp
include ../rules.include
CFLAGS += -DIEEE8021X_EAPOL
@@ -13,11 +13,13 @@ LIBS += $(SRC)/eap_common/libeap_common.a
LIBS += $(SRC)/l2_packet/libl2_packet.a
LIBS += $(SRC)/utils/libutils.a
-eapol-supp: eapol-supp.o $(OBJS) $(LIBS)
+OBJS += eapol-supp.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+eapol-supp: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ -Wl,--start-group $(LIBS) -Wl,--end-group
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f eapol-supp *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/json/Makefile b/tests/fuzzing/json/Makefile
index ffa0c5a993d6..8de19293e29b 100644
--- a/tests/fuzzing/json/Makefile
+++ b/tests/fuzzing/json/Makefile
@@ -1,4 +1,4 @@
-all: json
+ALL=json
include ../rules.include
OBJS += $(SRC)/utils/base64.o
@@ -8,12 +8,13 @@ OBJS += $(SRC)/utils/os_unix.o
OBJS += $(SRC)/utils/wpa_debug.o
OBJS += $(SRC)/utils/wpabuf.o
-json: json.o $(OBJS) $(LIBS)
+OBJS += json.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+json: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
+clean: common-clean
rm -f json *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/p2p/Makefile b/tests/fuzzing/p2p/Makefile
index c088e32d0028..ef31a7505e28 100644
--- a/tests/fuzzing/p2p/Makefile
+++ b/tests/fuzzing/p2p/Makefile
@@ -1,4 +1,4 @@
-all: p2p
+ALL=p2p
include ../rules.include
LIBS += $(SRC)/utils/libutils.a
@@ -8,11 +8,13 @@ LIBS += $(SRC)/p2p/libp2p.a
LIBS += $(SRC)/tls/libtls.a
LIBS += $(SRC)/wps/libwps.a
-p2p: p2p.o $(OBJS) $(LIBS)
+OBJS += p2p.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+p2p: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS)
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f p2p *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/rules.include b/tests/fuzzing/rules.include
index a3b0ee0aa3e1..b2e8a81ea878 100644
--- a/tests/fuzzing/rules.include
+++ b/tests/fuzzing/rules.include
@@ -1,3 +1,6 @@
+FUZZ_RULES := $(lastword $(MAKEFILE_LIST))
+include $(dir $(FUZZ_RULES))../../src/build.rules
+
FUZZ_CFLAGS =
ifdef LIBFUZZER
@@ -18,14 +21,6 @@ CFLAGS += -DTEST_LIBFUZZER
LDFLAGS += $(FUZZ_FLAGS)
endif
-ifndef CC
-CC=gcc
-endif
-
-ifndef LDO
-LDO=$(CC)
-endif
-
WPAS_SRC=../../../wpa_supplicant
SRC=../../../src
@@ -76,18 +71,3 @@ $(SRC)/utils/libutils.a:
$(SRC)/wps/libwps.a:
$(MAKE) -C $(SRC)/wps
-
-Q=@
-E=echo
-ifeq ($(V), 1)
-Q=
-E=true
-endif
-ifeq ($(QUIET), 1)
-Q=@
-E=true
-endif
-
-%.o: %.c
- $(Q)$(CC) -c -o $@ $(CFLAGS) $<
- @$(E) " CC " $<
diff --git a/tests/fuzzing/sae/Makefile b/tests/fuzzing/sae/Makefile
index 5b86c2f43b13..ee7257afeaa8 100644
--- a/tests/fuzzing/sae/Makefile
+++ b/tests/fuzzing/sae/Makefile
@@ -1,4 +1,4 @@
-all: sae
+ALL=sae
include ../rules.include
CFLAGS += -DCONFIG_SHA256
@@ -13,11 +13,13 @@ OBJS += $(SRC)/crypto/sha256-prf.o
OBJS += $(SRC)/crypto/sha256-kdf.o
OBJS += $(SRC)/common/dragonfly.o
-sae: sae.o $(OBJS) $(LIBS)
+OBJS += sae.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+sae: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ -lcrypto
-clean:
- $(MAKE) -C $(SRC) clean
+clean: common-clean
rm -f sae *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/tls-client/Makefile b/tests/fuzzing/tls-client/Makefile
index e91125ec1cf8..7d5e8d536fe7 100644
--- a/tests/fuzzing/tls-client/Makefile
+++ b/tests/fuzzing/tls-client/Makefile
@@ -1,4 +1,4 @@
-all: tls-client
+ALL=tls-client
include ../rules.include
LIBS += $(SRC)/common/libcommon.a
@@ -14,12 +14,13 @@ LIBS += $(SRC)/utils/libutils.a
ELIBS += $(SRC)/crypto/libcrypto.a
ELIBS += $(SRC)/tls/libtls.a
-tls-client: tls-client.o $(OBJS) $(LIBS)
+OBJS += tls-client.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+tls-client: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
+clean: common-clean
rm -f tls-client *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/tls-server/Makefile b/tests/fuzzing/tls-server/Makefile
index dbb53e5a4ca7..45304328e4b2 100644
--- a/tests/fuzzing/tls-server/Makefile
+++ b/tests/fuzzing/tls-server/Makefile
@@ -1,4 +1,4 @@
-all: tls-server
+ALL=tls-server
include ../rules.include
LIBS += $(SRC)/common/libcommon.a
@@ -14,12 +14,13 @@ LIBS += $(SRC)/utils/libutils.a
ELIBS += $(SRC)/crypto/libcrypto.a
ELIBS += $(SRC)/tls/libtls.a
-tls-server: tls-server.o $(OBJS) $(LIBS)
+OBJS += tls-server.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+tls-server: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
+clean: common-clean
rm -f tls-server *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/wnm/Makefile b/tests/fuzzing/wnm/Makefile
index b8d33ac04c6d..f27dd341b333 100644
--- a/tests/fuzzing/wnm/Makefile
+++ b/tests/fuzzing/wnm/Makefile
@@ -1,4 +1,4 @@
-all: wnm
+ALL=wnm
include ../rules.include
CFLAGS += -DCONFIG_WNM
@@ -42,12 +42,13 @@ OBJS += $(WPAS_SRC)/wpas_glue.o
OBJS += $(SRC)/drivers/driver_common.o
OBJS += $(SRC)/drivers/drivers.o
-wnm: wnm.o $(OBJS) $(LIBS)
+OBJS += wnm.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+wnm: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
+clean: common-clean
rm -f wnm *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
diff --git a/tests/fuzzing/x509/Makefile b/tests/fuzzing/x509/Makefile
index d7f751a9dcb5..7fff15a3a94a 100644
--- a/tests/fuzzing/x509/Makefile
+++ b/tests/fuzzing/x509/Makefile
@@ -1,4 +1,4 @@
-all: x509
+ALL=x509
include ../rules.include
LIBS += $(SRC)/common/libcommon.a
@@ -9,12 +9,13 @@ LIBS += $(SRC)/utils/libutils.a
ELIBS += $(SRC)/crypto/libcrypto.a
ELIBS += $(SRC)/tls/libtls.a
-x509: x509.o $(OBJS) $(LIBS)
+OBJS += x509.o
+
+_OBJS_VAR := OBJS
+include ../../../src/objs.mk
+
+x509: $(OBJS) $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $^ $(LIBS) $(ELIBS)
-clean:
- $(MAKE) -C $(SRC) clean
- $(MAKE) -C $(WPAS_SRC) clean
+clean: common-clean
rm -f x509 *~ *.o *.d ../*~ ../*.o ../*.d
-
--include $(OBJS:%.o=%.d)
--
2.26.2
More information about the Hostap
mailing list