nexmon – Rev 1
?pathlinks?
AC_ROOT = ../..
SRC_DIR = $(AC_ROOT)/src
include $(AC_ROOT)/common.mak
CFLAGS += -I$(SRC_DIR) -I$(SRC_DIR)/include $(COMMON_CFLAGS)
ifeq ($(subst TRUE,true,$(filter TRUE true,$(simdcore) $(SIMDCORE))),true)
SSEO_INT = $(AC_ROOT)/src/simd-intrinsics.o $(AC_ROOT)/src/memory.o $(AC_ROOT)/src/wpapsk.o
else
ifeq ($(subst TRUE,true,$(filter TRUE true,$(newsse) $(NEWSSE))),true)
SSEO_INT = $(AC_ROOT)/src/sse-intrinsics.o $(AC_ROOT)/src/memory.o $(AC_ROOT)/src/wpapsk.o
endif
endif
ifeq ($(subst TRUE,true,$(filter TRUE true,$(gcrypt) $(GCRYPT))),true)
LIBSSL = -lgcrypt $(LDFLAGS)
CFLAGS += -DUSE_GCRYPT
else
LIBSSL = -lssl -lcrypto $(LDFLAGS)
endif
all: check
SRC_CRYPTO = $(AC_ROOT)/src/crypto.c $(AC_ROOT)/src/sha1-git.c $(SSEO_INT) $(AC_ROOT)/src/cpuid.o $(AC_ROOT)/src/common.o
TESTFILES = test-encrypt-wep$(EXE) test-calc-pmk$(EXE) test-calc-mic$(EXE) test-calc-ptk$(EXE) test-encrypt-ccmp$(EXE) test-decrypt-ccmp$(EXE) test-calc-4pmk$(EXE)
OBJS_TEST_EWEP = test-encrypt-wep.c $(SRC_CRYPTO)
OBJS_TEST_CPMK = test-calc-pmk.c $(SRC_CRYPTO)
OBJS_TEST_4PMK = test-calc-4pmk.c $(SRC_CRYPTO)
OBJS_TEST_CMIC = test-calc-mic.c $(SRC_CRYPTO)
OBJS_TEST_CPTK = test-calc-ptk.c $(SRC_CRYPTO)
OBJS_TEST_DCMP = test-decrypt-ccmp.c $(SRC_CRYPTO)
OBJS_TEST_ECMP = test-encrypt-ccmp.c $(SRC_CRYPTO)
test-encrypt-wep$(EXE): $(OBJS_TEST_EWEP)
$(CC) $(CFLAGS) $(OBJS_TEST_EWEP) -o $(@) $(LIBSSL)
test-calc-pmk$(EXE): $(OBJS_TEST_CPMK)
$(CC) $(CFLAGS) $(OBJS_TEST_CPMK) -o $(@) $(LIBSSL)
test-calc-4pmk$(EXE): $(OBJS_TEST_4PMK)
$(CC) $(CFLAGS) $(OBJS_TEST_4PMK) $(AC_ROOT)/src/sha1-sse2.S -o $(@) $(LIBSSL)
test-calc-mic$(EXE): $(OBJS_TEST_CMIC)
$(CC) $(CFLAGS) $(OBJS_TEST_CMIC) -o $(@) $(LIBSSL)
test-calc-ptk$(EXE): $(OBJS_TEST_CPTK)
$(CC) $(CFLAGS) $(OBJS_TEST_CPTK) -o $(@) $(LIBSSL)
test-encrypt-ccmp$(EXE): $(OBJS_TEST_ECMP)
$(CC) $(CFLAGS) $(OBJS_TEST_ECMP) -o $(@) $(LIBSSL)
test-decrypt-ccmp$(EXE): $(OBJS_TEST_DCMP)
$(CC) $(CFLAGS) $(OBJS_TEST_DCMP) -o $(@) $(LIBSSL)
default: check
check: $(TESTFILES)
$(foreach TEST,$(TESTFILES), \
./$(TEST) || exit 1; \
)
valgrind: $(TESTFILES)
$(foreach TEST,$(TESTFILES), \
echo "Testing $$test for memory leaks with valgrind ..." ; \
valgrind -q --error-exitcode=1 --leak-check=yes ./$(TEST) || exit 1; \
)
clean:
rm -f $(TESTFILES)
rm -f vgcore*