build: Pull common fragments into a build.rules file

Some things are used by most of the binaries, pull them
into a common rule fragment that we can use properly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2020-09-18 11:49:48 +02:00 committed by Jouni Malinen
parent 21cc50a434
commit a41a29192e
9 changed files with 74 additions and 212 deletions

View file

@ -1,19 +1,6 @@
ALL=eap_example ALL=eap_example
all: $(ALL) include ../src/build.rules
ifndef CC
CC=gcc
endif
ifndef RANLIB
RANLIB=ranlib
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
CFLAGS += -I. CFLAGS += -I.
CFLAGS += -I../src CFLAGS += -I../src
@ -95,22 +82,6 @@ OBJS_server += ../src/eap_server/eap_server_tls_common.o
CFLAGS += -DEAP_SERVER CFLAGS += -DEAP_SERVER
ifndef LDO
LDO=$(CC)
endif
Q=@
E=echo
ifeq ($(V), 1)
Q=
E=true
endif
%.o: %.c
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
OBJS_lib=$(OBJS_both) $(OBJS_peer) $(OBJS_server) OBJS_lib=$(OBJS_both) $(OBJS_peer) $(OBJS_server)
OBJS_ex = eap_example.o eap_example_peer.o eap_example_server.o OBJS_ex = eap_example.o eap_example_peer.o eap_example_server.o

View file

@ -1,10 +1,7 @@
ifndef CC ALL=hostapd hostapd_cli
CC=gcc VERIFY=verify_config
endif
ifndef CFLAGS include ../src/build.rules
CFLAGS = -MMD -O2 -Wall -g
endif
ifdef LIBS ifdef LIBS
# If LIBS is set with some global build system defaults, clone those for # If LIBS is set with some global build system defaults, clone those for
@ -1264,31 +1261,6 @@ ifdef CONFIG_NO_TKIP
CFLAGS += -DCONFIG_NO_TKIP CFLAGS += -DCONFIG_NO_TKIP
endif endif
ALL=hostapd hostapd_cli
all: verify_config $(ALL)
Q=@
E=echo
ifeq ($(V), 1)
Q=
E=true
endif
ifeq ($(QUIET), 1)
Q=@
E=true
endif
ifdef CONFIG_CODE_COVERAGE
%.o: %.c
@$(E) " CC " $<
$(Q)cd $(dir $@); $(CC) -c -o $(notdir $@) $(CFLAGS) $(notdir $<)
else
%.o: %.c
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
endif
verify_config: verify_config:
@if [ ! -r .config ]; then \ @if [ ! -r .config ]; then \
echo 'Building hostapd requires a configuration file'; \ echo 'Building hostapd requires a configuration file'; \

View file

@ -1,28 +1,6 @@
all: hs20-osu-client ALL=hs20-osu-client
ifndef CC include ../../src/build.rules
CC=gcc
endif
ifndef LDO
LDO=$(CC)
endif
ifeq ($(QUIET), 1)
Q=@
E=true
else
Q=@
E=echo
ifeq ($(V), 1)
Q=
E=true
endif
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
CFLAGS += -I../../src/utils CFLAGS += -I../../src/utils
CFLAGS += -I../../src/common CFLAGS += -I../../src/common
@ -97,10 +75,6 @@ hs20-osu-client: $(OBJS)
$(Q)$(LDO) $(LDFLAGS) -o hs20-osu-client $(OBJS) $(LIBS) $(Q)$(LDO) $(LDFLAGS) -o hs20-osu-client $(OBJS) $(LIBS)
@$(E) " LD " $@ @$(E) " LD " $@
%.o: %.c
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
clean: clean:
rm -f core *~ *.o *.d hs20-osu-client rm -f core *~ *.o *.d hs20-osu-client
rm -f ../../src/utils/*.o rm -f ../../src/utils/*.o

View file

@ -1,16 +1,6 @@
all: hs20_spp_server ALL=hs20_spp_server
ifndef CC include ../../src/build.rules
CC=gcc
endif
ifndef LDO
LDO=$(CC)
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
CFLAGS += -I../../src CFLAGS += -I../../src
CFLAGS += -I../../src/utils CFLAGS += -I../../src/utils

View file

@ -1,18 +1,6 @@
ALL=radius_example ALL=radius_example
all: $(ALL) include ../src/build.rules
ifndef CC
CC=gcc
endif
ifndef LDO
LDO=$(CC)
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
CFLAGS += -I. CFLAGS += -I.
CFLAGS += -I../src CFLAGS += -I../src

43
src/build.rules Normal file
View file

@ -0,0 +1,43 @@
.PHONY: all
all: $(VERIFY) $(ALL) $(EXTRA_TARGETS)
ifndef CC
CC=gcc
endif
ifndef RANLIB
RANLIB=ranlib
endif
ifndef LDO
LDO=$(CC)
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
Q=@
E=echo
ifeq ($(V), 1)
Q=
E=true
endif
ifeq ($(QUIET), 1)
Q=@
E=true
endif
ifeq ($(Q),@)
MAKEFLAGS += --no-print-directory
endif
ifdef CONFIG_CODE_COVERAGE
%.o: %.c
@$(E) " CC " $<
$(Q)cd $(dir $@); $(CC) -c -o $(notdir $@) $(CFLAGS) $(notdir $<)
else
%.o: %.c
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
endif

View file

@ -1,9 +1,9 @@
TESTS=test-base64 test-md4 test-milenage \ ALL=test-base64 test-md4 test-milenage \
test-rsa-sig-ver \ test-rsa-sig-ver \
test-sha1 \ test-sha1 \
test-sha256 test-aes test-asn1 test-x509v3 test-list test-rc4 test-sha256 test-aes test-asn1 test-x509v3 test-list test-rc4
all: $(TESTS) include ../src/build.rules
ifdef LIBFUZZER ifdef LIBFUZZER
CC=clang CC=clang
@ -14,18 +14,6 @@ LDFLAGS += -fsanitize=fuzzer,address,signed-integer-overflow,unsigned-integer-ov
TEST_FUZZ=y TEST_FUZZ=y
endif endif
ifndef CC
CC=gcc
endif
ifndef LDO
LDO=$(CC)
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
ifdef TEST_FUZZ ifdef TEST_FUZZ
CFLAGS += -DCONFIG_NO_RANDOM_POOL CFLAGS += -DCONFIG_NO_RANDOM_POOL
CFLAGS += -DTEST_FUZZ CFLAGS += -DTEST_FUZZ
@ -152,7 +140,7 @@ test-x509v3: test-x509v3.o $(LIBS)
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
run-tests: $(TESTS) run-tests: $(ALL)
./test-aes ./test-aes
./test-list ./test-list
./test-md4 ./test-md4
@ -165,7 +153,7 @@ run-tests: $(TESTS)
clean: clean:
$(MAKE) -C ../src clean $(MAKE) -C ../src clean
rm -f $(TESTS) *~ *.o *.d rm -f $(ALL) *~ *.o *.d
rm -f test-eapol rm -f test-eapol
rm -f test-https rm -f test-https
rm -f test-json rm -f test-json

View file

@ -1,22 +1,9 @@
ALL=wlantest wlantest_cli test_vectors ALL=wlantest wlantest_cli test_vectors
all: $(ALL) include ../src/build.rules
UNAME := $(shell uname -s) UNAME := $(shell uname -s)
ifndef CC
CC=gcc
endif
ifndef RANLIB
RANLIB=ranlib
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
CFLAGS += -I. CFLAGS += -I.
CFLAGS += -I../src CFLAGS += -I../src
CFLAGS += -I../src/utils CFLAGS += -I../src/utils
@ -26,26 +13,6 @@ ifneq ($(UNAME),Darwin)
LIBS += -lrt LIBS += -lrt
endif endif
ifndef LDO
LDO=$(CC)
endif
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 " $<
OWN_LIBS += ../src/utils/libutils.a OWN_LIBS += ../src/utils/libutils.a
OWN_LIBS += ../src/crypto/libcrypto.a OWN_LIBS += ../src/crypto/libcrypto.a

View file

@ -1,11 +1,24 @@
ifndef CC BINALL=wpa_supplicant wpa_cli
CC=gcc
ifndef CONFIG_NO_WPA_PASSPHRASE
BINALL += wpa_passphrase
endif endif
ifndef CFLAGS ALL = $(BINALL)
CFLAGS = -MMD -O2 -Wall -g ALL += systemd/wpa_supplicant.service
ALL += systemd/wpa_supplicant@.service
ALL += systemd/wpa_supplicant-nl80211@.service
ALL += systemd/wpa_supplicant-wired@.service
ALL += dbus/fi.w1.wpa_supplicant1.service
ifdef CONFIG_BUILD_WPA_CLIENT_SO
ALL += libwpa_client.so
endif endif
VERIFY=verify_config
EXTRA_TARGETS=dynamic_eap_methods
include ../src/build.rules
ifdef LIBS ifdef LIBS
# If LIBS is set with some global build system defaults, clone those for # If LIBS is set with some global build system defaults, clone those for
# LIBS_c and LIBS_p to cover wpa_passphrase and wpa_cli as well. # LIBS_c and LIBS_p to cover wpa_passphrase and wpa_cli as well.
@ -44,25 +57,6 @@ CONFIG_WPS_TESTING=y
CONFIG_TDLS_TESTING=y CONFIG_TDLS_TESTING=y
endif endif
BINALL=wpa_supplicant wpa_cli
ifndef CONFIG_NO_WPA_PASSPHRASE
BINALL += wpa_passphrase
endif
ALL = $(BINALL)
ALL += systemd/wpa_supplicant.service
ALL += systemd/wpa_supplicant@.service
ALL += systemd/wpa_supplicant-nl80211@.service
ALL += systemd/wpa_supplicant-wired@.service
ALL += dbus/fi.w1.wpa_supplicant1.service
ifdef CONFIG_BUILD_WPA_CLIENT_SO
ALL += libwpa_client.so
endif
all: verify_config $(ALL) dynamic_eap_methods
verify_config: verify_config:
@if [ ! -r .config ]; then \ @if [ ! -r .config ]; then \
echo 'Building wpa_supplicant requires a configuration file'; \ echo 'Building wpa_supplicant requires a configuration file'; \
@ -1867,21 +1861,6 @@ ifdef CONFIG_NO_TKIP
CFLAGS += -DCONFIG_NO_TKIP CFLAGS += -DCONFIG_NO_TKIP
endif endif
ifndef LDO
LDO=$(CC)
endif
Q=@
E=echo
ifeq ($(V), 1)
Q=
E=true
endif
ifeq ($(QUIET), 1)
Q=@
E=true
endif
dynamic_eap_methods: $(EAPDYN) dynamic_eap_methods: $(EAPDYN)
../src/drivers/build.wpa_supplicant: ../src/drivers/build.wpa_supplicant:
@ -1980,16 +1959,6 @@ eap_eke.so: ../src/eap_peer/eap_eke.c ../src/eap_common/eap_eke_common.c
$(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \ $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
-D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init -D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
ifdef CONFIG_CODE_COVERAGE
%.o: %.c
@$(E) " CC " $<
$(Q)cd $(dir $@); $(CC) -c -o $(notdir $@) $(CFLAGS) $(notdir $<)
else
%.o: %.c
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
@$(E) " CC " $<
endif
%.service: %.service.in %.service: %.service.in
$(Q)sed -e 's|\@BINDIR\@|$(BINDIR)|g' $< >$@ $(Q)sed -e 's|\@BINDIR\@|$(BINDIR)|g' $< >$@
@$(E) " sed" $< @$(E) " sed" $<