gestumblinde

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

Makefile (4342B)


      1 .SUFFIXES: .o .c
      2 
      3 # CHANGE THIS:
      4 SPHINCSPLUS_REFERENCE_SOURCE_PATH=../../sphincsplus/ref
      5 
      6 SHAKE_REFERENCE_SOURCES=\
      7 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/address.c \
      8 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/rng.c \
      9 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/merkle.c \
     10 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/wots.c \
     11 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/wotsx1.c \
     12 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/utils.c \
     13 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/utilsx1.c \
     14 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/fors.c \
     15 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/sign.c \
     16 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/fips202.c \
     17 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/hash_shake.c \
     18 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/thash_shake_simple.c
     19 
     20 
     21 SHA2_REFERENCE_SOURCES=\
     22 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/address.c \
     23 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/rng.c \
     24 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/merkle.c \
     25 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/wots.c \
     26 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/wotsx1.c \
     27 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/utils.c \
     28 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/utilsx1.c \
     29 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/fors.c \
     30 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/sign.c \
     31 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/fips202.c \
     32 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/hash_sha2.c \
     33 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/thash_sha2_simple.c \
     34 $(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/sha2.c
     35 
     36 CC=clang
     37 CFLAGS+=-g
     38 CFLAGS+=-std=c99 -pedantic -Wall -Werror -Wstrict-prototypes
     39 CFLAGS+=-Wmissing-prototypes -Wmissing-declarations -Wshadow
     40 CFLAGS+=-Wpointer-arith -Wcast-qual -Wsign-compare -O2
     41 CFLAGS+=-fstack-protector-all -Wtype-limits -fno-common
     42 CFLAGS+=-fno-builtin
     43 CFLAGS+=-I$(SPHINCSPLUS_REFERENCE_SOURCE_PATH)/
     44 CFLAGS+=-I/usr/local/include
     45 CFLAGS+=-L/usr/local/lib
     46 LDFLAGS=-lcrypto -ljansson
     47 BUILDDIR=build
     48 EXECS=\
     49 shake_128s_gen\
     50 shake_128f_gen\
     51 shake_192s_gen\
     52 shake_192f_gen\
     53 shake_256s_gen\
     54 shake_256f_gen\
     55 sha2_128s_gen\
     56 sha2_128f_gen\
     57 sha2_192s_gen\
     58 sha2_192f_gen\
     59 sha2_256s_gen\
     60 sha2_256f_gen
     61 
     62 all: $(BUILDDIR) $(EXECS)
     63 
     64 $(BUILDDIR):
     65 	mkdir -p $(BUILDDIR)
     66 
     67 shake_128s_gen: $(BUILDDIR) slhdsa_gen.c
     68 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-128s -DPFX=SLH-DSA-SHAKE-128s -o $(BUILDDIR)/shake_128s_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     69 
     70 shake_128f_gen: $(BUILDDIR) slhdsa_gen.c
     71 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-128f -DPFX=SLH-DSA-SHAKE-128f -o $(BUILDDIR)/shake_128f_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     72 
     73 shake_192s_gen: $(BUILDDIR) slhdsa_gen.c
     74 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-192s -DPFX=SLH-DSA-SHAKE-192s -o $(BUILDDIR)/shake_192s_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     75 
     76 shake_192f_gen: $(BUILDDIR) slhdsa_gen.c
     77 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-192f -DPFX=SLH-DSA-SHAKE-192f -o $(BUILDDIR)/shake_192f_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     78 
     79 shake_256s_gen: $(BUILDDIR) slhdsa_gen.c
     80 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-256s -DPFX=SLH-DSA-SHAKE-256s -o $(BUILDDIR)/shake_256s_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     81 
     82 shake_256f_gen: $(BUILDDIR) slhdsa_gen.c
     83 	$(CC) $(CFLAGS) -DPARAMS=sphincs-shake-256f -DPFX=SLH-DSA-SHAKE-256f -o $(BUILDDIR)/shake_256f_gen $(SHAKE_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     84 
     85 sha2_128s_gen: $(BUILDDIR) slhdsa_gen.c
     86 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-128s -DPFX=SLH-DSA-SHA2-128s -o $(BUILDDIR)/sha2_128s_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     87 
     88 sha2_128f_gen: $(BUILDDIR) slhdsa_gen.c
     89 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-128f -DPFX=SLH-DSA-SHA2-128f -o $(BUILDDIR)/sha2_128f_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     90 
     91 sha2_192s_gen: $(BUILDDIR) slhdsa_gen.c
     92 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-192s -DPFX=SLH-DSA-SHA2-192s -o $(BUILDDIR)/sha2_192s_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     93 
     94 sha2_192f_gen: $(BUILDDIR) slhdsa_gen.c
     95 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-192f -DPFX=SLH-DSA-SHA2-192f -o $(BUILDDIR)/sha2_192f_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     96 
     97 sha2_256s_gen: $(BUILDDIR) slhdsa_gen.c
     98 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-256s -DPFX=SLH-DSA-SHA2-256s -o $(BUILDDIR)/sha2_256s_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
     99 
    100 sha2_256f_gen: $(BUILDDIR) slhdsa_gen.c
    101 	$(CC) $(CFLAGS) -DPARAMS=sphincs-sha2-256f -DPFX=SLH-DSA-SHA2-256f -o $(BUILDDIR)/sha2_256f_gen $(SHA2_REFERENCE_SOURCES) slhdsa_gen.c $(LDFLAGS)
    102 
    103 clean:
    104 	rm -rf $(BUILDDIR)