gestumblinde

Gestumblinde - reference implementation of SLH-DSA
git clone git://www.tkruger.se/gestumblinde.git
Log | Files | Refs | README

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}