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)