gestumblinde

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

Makefile (2940B)


      1 .SUFFIXES: .o .c
      2 
      3 TINY_SHA3_PATH=/home/olikru/packages/tiny_sha3
      4 
      5 CC=clang
      6 SOURCES=\
      7 fors.c\
      8 hash.c\
      9 ht.c\
     10 slh.c\
     11 utils.c\
     12 wotsp.c\
     13 xmss.c
     14 BENCHSOURCE=bench.c
     15 CLCOMMON=clcommon.c
     16 KEYGENSOURCE=keygen.c
     17 SIGNSOURCE=sign.c
     18 VERIFSOURCE=verif.c
     19 DEPS=\
     20 context.h\
     21 utils.h\
     22 wotsp.h\
     23 hash.h\
     24 address.h\
     25 xmss.h\
     26 ht.h\
     27 fors.h\
     28 slh.h\
     29 clcommon.h
     30 CFLAGS+=-std=c99 -pedantic -Wall -Werror -Wstrict-prototypes
     31 CFLAGS+=-Wmissing-prototypes -Wmissing-declarations -Wshadow
     32 CFLAGS+=-Wpointer-arith -Wcast-qual -Wsign-compare
     33 CFLAGS+=-O2 -g
     34 #CFLAGS+=-O3 -DNDEBUG
     35 CFLAGS+=-fstack-protector-all -Wtype-limits -fno-common
     36 CFLAGS+=-fno-builtin
     37 CFLAGS+=-I$(TINY_SHA3_PATH) -I/usr/local/include
     38 LDFLAGS=-L/usr/local/lib -lcrypto
     39 BUILDDIR=build
     40 
     41 all: $(BUILDDIR) keygen sign verif
     42 
     43 $(BUILDDIR):
     44 	mkdir -p $(BUILDDIR)
     45 
     46 keygen: $(DEPS)
     47 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_128S -o $(BUILDDIR)/keygen_shake_128s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(CLCOMMON) $(KEYGENSOURCE) $(LDFLAGS)
     48 
     49 sign: $(DEPS)
     50 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_128S -o $(BUILDDIR)/sign_shake_128s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(CLCOMMON) $(SIGNSOURCE) $(LDFLAGS)
     51 
     52 verif: $(DEPS)
     53 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_128S -o $(BUILDDIR)/verif_shake_128s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(CLCOMMON) $(VERIFSOURCE) $(LDFLAGS)
     54 
     55 benchmarks: $(DEPS)
     56 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_128S -o $(BUILDDIR)/benchmark_shake_128s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     57 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_128F -o $(BUILDDIR)/benchmark_shake_128f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     58 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_192S -o $(BUILDDIR)/benchmark_shake_192s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     59 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_192F -o $(BUILDDIR)/benchmark_shake_192f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     60 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_256S -o $(BUILDDIR)/benchmark_shake_256s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     61 	$(CC) $(CFLAGS) -DSLH_DSA_SHAKE_256F -o $(BUILDDIR)/benchmark_shake_256f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     62 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_128S -o $(BUILDDIR)/benchmark_sha2_128s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     63 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_128F -o $(BUILDDIR)/benchmark_sha2_128f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     64 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_192S -o $(BUILDDIR)/benchmark_sha2_192s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     65 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_192F -o $(BUILDDIR)/benchmark_sha2_192f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     66 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_256S -o $(BUILDDIR)/benchmark_sha2_256s $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     67 	$(CC) $(CFLAGS) -DSLH_DSA_SHA2_256F -o $(BUILDDIR)/benchmark_sha2_256f $(SOURCES) $(TINY_SHA3_PATH)/sha3.c $(BENCHSOURCE) $(LDFLAGS)
     68 
     69 clean:
     70 	rm -rf $(BUILDDIR)