Makefile (2958B)
1 .SUFFIXES: .o .c 2 3 TINY_SHA3_PATH=/home/olikru/packages/tiny_sha3 4 #TINY_SHA3_OBJ=$(TINY_SHA3_PATH)/sha3.o 5 6 CC=clang 7 BASE_SOURCES=\ 8 ../fors.c\ 9 ../hash.c\ 10 ../ht.c\ 11 ../slh.c\ 12 ../utils.c\ 13 ../wotsp.c\ 14 ../xmss.c 15 TEST_SOURCES=\ 16 test_fors.c\ 17 test_ht.c\ 18 test_slh.c\ 19 test_wotsp.c\ 20 test_xmss.c\ 21 utils.c\ 22 tests.c 23 utils.cCFLAGS+=-std=c99 -pedantic -Wall -Werror -Wstrict-prototypes 24 CFLAGS+=-Wmissing-prototypes -Wmissing-declarations -Wshadow 25 CFLAGS+=-Wpointer-arith -Wcast-qual -Wsign-compare -O2 26 CFLAGS+=-fstack-protector-all -Wtype-limits -fno-common 27 CFLAGS+=-fno-builtin 28 CFLAGS+=-I$(TINY_SHA3_PATH) -I/usr/local/include 29 LDFLAGS=-L/usr/local/lib -ljansson -lcunit -lcrypto 30 TESTBIN=tests 31 BUILDDIR=build 32 33 all: $(BUILDDIR) tests 34 35 $(BUILDDIR): 36 mkdir -p $(BUILDDIR) 37 38 tests: $(BUILDDIR) 39 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_128S -o $(BUILDDIR)/${TESTBIN}_shake_128s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 40 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_128F -o $(BUILDDIR)/${TESTBIN}_shake_128f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 41 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_192S -o $(BUILDDIR)/${TESTBIN}_shake_192s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 42 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_192F -o $(BUILDDIR)/${TESTBIN}_shake_192f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 43 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_256S -o $(BUILDDIR)/${TESTBIN}_shake_256s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 44 ${CC} ${CFLAGS} -DSLH_DSA_SHAKE_256F -o $(BUILDDIR)/${TESTBIN}_shake_256f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 45 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_128S -o $(BUILDDIR)/${TESTBIN}_sha2_128s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 46 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_128F -o $(BUILDDIR)/${TESTBIN}_sha2_128f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 47 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_192S -o $(BUILDDIR)/${TESTBIN}_sha2_192s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 48 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_192F -o $(BUILDDIR)/${TESTBIN}_sha2_192f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 49 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_256S -o $(BUILDDIR)/${TESTBIN}_sha2_256s $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 50 ${CC} ${CFLAGS} -DSLH_DSA_SHA2_256F -o $(BUILDDIR)/${TESTBIN}_sha2_256f $(BASE_SOURCES) $(TEST_SOURCES) $(TINY_SHA3_PATH)/sha3.c ${LDFLAGS} 51 52 runtests: tests 53 ./$(BUILDDIR)/${TESTBIN}_shake_128s 54 ./$(BUILDDIR)/${TESTBIN}_shake_128f 55 ./$(BUILDDIR)/${TESTBIN}_shake_192s 56 ./$(BUILDDIR)/${TESTBIN}_shake_192f 57 ./$(BUILDDIR)/${TESTBIN}_shake_256s 58 ./$(BUILDDIR)/${TESTBIN}_shake_256f 59 ./$(BUILDDIR)/${TESTBIN}_sha2_128s 60 ./$(BUILDDIR)/${TESTBIN}_sha2_128f 61 ./$(BUILDDIR)/${TESTBIN}_sha2_192s 62 ./$(BUILDDIR)/${TESTBIN}_sha2_192f 63 ./$(BUILDDIR)/${TESTBIN}_sha2_256s 64 ./$(BUILDDIR)/${TESTBIN}_sha2_256f 65 66 clean: 67 rm -rf ${BUILDDIR}