722138cd25
Instead of building in the source tree, put most object files into the build/ folder at the root, and put each thing that's being built into a separate folder. This then allows us to build hostapd and wpa_supplicant (or other combinations) without "make clean" inbetween. For the tests keep the objects in place for now (and to do that, add the build rule) so that we don't have to rewrite all of that with $(call BUILDOBJS,...) which is just noise there. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
170 lines
3.7 KiB
Makefile
170 lines
3.7 KiB
Makefile
ALL=test-base64 test-md4 test-milenage \
|
|
test-rsa-sig-ver \
|
|
test-sha1 \
|
|
test-sha256 test-aes test-asn1 test-x509v3 test-list test-rc4
|
|
|
|
include ../src/build.rules
|
|
|
|
# for now, keep building in this folder, otherwise we need to
|
|
# put each object for each test into a separate variable and
|
|
# then do the objs.mk dance for it ...
|
|
%.o: %.c
|
|
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
|
|
@$(E) " CC " $<
|
|
|
|
ifdef LIBFUZZER
|
|
CC=clang
|
|
CFLAGS = -MMD -O2 -Wall -g
|
|
CFLAGS += -fsanitize=fuzzer,address,signed-integer-overflow,unsigned-integer-overflow
|
|
CFLAGS += -DTEST_LIBFUZZER
|
|
LDFLAGS += -fsanitize=fuzzer,address,signed-integer-overflow,unsigned-integer-overflow
|
|
TEST_FUZZ=y
|
|
endif
|
|
|
|
ifdef TEST_FUZZ
|
|
CFLAGS += -DCONFIG_NO_RANDOM_POOL
|
|
CFLAGS += -DTEST_FUZZ
|
|
endif
|
|
|
|
CFLAGS += -DCONFIG_IEEE80211R_AP
|
|
CFLAGS += -DCONFIG_IEEE80211R
|
|
CFLAGS += -DCONFIG_TDLS
|
|
|
|
CFLAGS += -I../src
|
|
CFLAGS += -I../src/utils
|
|
|
|
SLIBS = ../src/utils/libutils.a
|
|
|
|
DLIBS = ../src/crypto/libcrypto.a \
|
|
../src/common/libcommon.a \
|
|
../src/ap/libap.a \
|
|
../src/eapol_auth/libeapol_auth.a \
|
|
../src/eapol_supp/libeapol_supp.a \
|
|
../src/eap_peer/libeap_peer.a \
|
|
../src/eap_server/libeap_server.a \
|
|
../src/eap_common/libeap_common.a \
|
|
../src/radius/libradius.a \
|
|
../src/l2_packet/libl2_packet.a \
|
|
../src/wps/libwps.a \
|
|
../src/rsn_supp/librsn_supp.a \
|
|
../src/tls/libtls.a
|
|
|
|
LIBS = $(SLIBS) $(DLIBS)
|
|
LLIBS = -Wl,--start-group $(DLIBS) -Wl,--end-group $(SLIBS)
|
|
|
|
# glibc < 2.17 needs -lrt for clock_gettime()
|
|
LLIBS += -lrt
|
|
|
|
../src/utils/libutils.a:
|
|
$(MAKE) -C ../src/utils
|
|
|
|
../src/common/libcommon.a:
|
|
$(MAKE) -C ../src/common
|
|
|
|
../src/crypto/libcrypto.a:
|
|
$(MAKE) -C ../src/crypto
|
|
|
|
../src/tls/libtls.a:
|
|
$(MAKE) -C ../src/tls
|
|
|
|
../src/ap/libap.a:
|
|
$(MAKE) -C ../src/ap
|
|
|
|
../src/radius/libradius.a:
|
|
$(MAKE) -C ../src/radius
|
|
|
|
../src/l2_packet/libl2_packet.a:
|
|
$(MAKE) -C ../src/l2_packet
|
|
|
|
../src/wps/libwps.a:
|
|
$(MAKE) -C ../src/wps
|
|
|
|
../src/eap_peer/libeap_peer.a:
|
|
$(MAKE) -C ../src/eap_peer
|
|
|
|
../src/eap_server/libeap_server.a:
|
|
$(MAKE) -C ../src/eap_server
|
|
|
|
../src/eap_common/libeap_common.a:
|
|
$(MAKE) -C ../src/eap_common
|
|
|
|
../src/eapol_auth/libeapol_auth.a:
|
|
$(MAKE) -C ../src/eapol_auth
|
|
|
|
../src/eapol_supp/libeapol_supp.a:
|
|
$(MAKE) -C ../src/eapol_supp
|
|
|
|
../src/rsn_supp/librsn_supp.a:
|
|
$(MAKE) -C ../src/rsn_supp
|
|
|
|
|
|
test-aes: test-aes.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-asn1: test-asn1.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-base64: test-base64.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-eapol: test-eapol.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
test-https: test-https.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
test-https_server: test-https_server.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
test-json: test-json.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-list: test-list.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-md4: test-md4.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-milenage: test-milenage.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-rc4: test-rc4.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-rsa-sig-ver: test-rsa-sig-ver.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
test-sha1: test-sha1.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-sha256: test-sha256.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS)
|
|
|
|
test-tls: test-tls.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
test-x509v3: test-x509v3.o $(LIBS)
|
|
$(LDO) $(LDFLAGS) -o $@ $< $(LLIBS)
|
|
|
|
|
|
run-tests: $(ALL)
|
|
./test-aes
|
|
./test-list
|
|
./test-md4
|
|
./test-milenage
|
|
./test-rsa-sig-ver
|
|
./test-sha1
|
|
./test-sha256
|
|
@echo
|
|
@echo All tests completed successfully.
|
|
|
|
clean: common-clean
|
|
rm -f *~ *.o *.d
|
|
rm -f test-eapol
|
|
rm -f test-https
|
|
rm -f test-json
|
|
rm -f test-tls
|
|
rm -f test_x509v3_nist.out.*
|
|
rm -f test_x509v3_nist2.out.*
|
|
|
|
-include $(OBJS:%.o=%.d)
|