DEBUG = 1 # prevent timing attacks, see Point_mul() and mod_L() # CONSTANT_TIME = 1 CC = gcc -std=c99 -pedantic -Wall -DDEBUG=$(DEBUG) -DCONSTANT_TIME=$(CONSTANT_TIME) OPENSSL_CFLAGS = -I/opt/openssl/include OPENSSL_LDFLAGS = -L/opt/openssl/lib -lcrypto OBJS = impl.o main.o key.o mod_L.o sub.o all: main gen.class key mod_L gen_L.class sub gen_sub.class test: main gen.class test.sh key keytest.sh mod_L gen_L.class mod_L_test.sh \ sub gen_sub.class sub_test.sh ./test.sh ./sub_test.sh ./keytest.sh ./mod_L_test.sh dist: clean cd .. && tar cf - impl | gzip > impl.tar.gz main: main.o impl.o Makefile $(CC) -o main main.o impl.o mod_L: mod_L.o impl.o Makefile $(CC) -o mod_L mod_L.o impl.o key: key.o impl.o Makefile $(CC) -o key key.o impl.o $(OPENSSL_LDFLAGS) sub: sub.o impl.o Makefile $(CC) -o sub sub.o impl.o gen.class: gen.java javac gen.java gen_sub.class: gen_sub.java javac gen_sub.java gen_L.class: gen_L.java javac gen_L.java impl.o: impl.c impl.h Makefile main.o: main.c impl.h Makefile sub.o: sub.c impl.h Makefile mod_L.o: mod_L.c impl.h Makefile key.o: key.c impl.h Makefile $(CC) $(OPENSSL_CFLAGS) -c key.c clean: rm -f a.out core main mod_L key $(OBJS) gen.class gen_L.class \ tmp_test.in tmp_test.out tmp_keytest.out \ tmp_mod_L_test.in tmp_mod_L_test.out \ sub gen_sub.class tmp_sub.in tmp_sub.out