lib/libmonocypher.so: lib/monocypher.o
@mkdir -p $(@D)
$(CC) $(CFLAGS) -shared -o $@ $^
-lib/%.o: src/%.c src/%.h
+lib/sha512.o : src/optional/sha512.c src/optional/sha512.o
+lib/monocypher.o: src/monocypher.c src/monocypher.h
+lib/monocypher.o lib/sha512.o:
@mkdir -p $(@D)
- $(CC) $(CFLAGS) -I src -fPIC -c -o $@ $<
+ $(CC) $(CFLAGS) -I src -I src/optional -fPIC -c -o $@ $<
# Test & speed libraries
+$TEST_COMMON=tests/utils.h src/monocypher.h src/optional/sha512.h
lib/utils.o: tests/utils.c tests/utils.h
-lib/test.o : tests/test.c tests/utils.h src/monocypher.h src/sha512.h tests/vectors.h
-lib/speed.o: tests/speed.c tests/utils.h src/monocypher.h src/sha512.h
+lib/test.o : tests/test.c $(TEST_COMMON) tests/vectors.h
+lib/speed.o: tests/speed.c $(TEST_COMMON)
lib/utils.o lib/test.o lib/speed.o:
@mkdir -p $(@D)
- $(CC) $(CFLAGS) -I src -fPIC -c -o $@ $<
+ $(CC) $(CFLAGS) -I src -I src/optional -fPIC -c -o $@ $<
# test & speed executables
test.out : lib/test.o lib/monocypher.o lib/sha512.o lib/utils.o
speed.out: lib/speed.o lib/monocypher.o lib/sha512.o lib/utils.o
test.out speed.out:
- $(CC) $(CFLAGS) -I src -o $@ $^
+ $(CC) $(CFLAGS) -I src -I src/optional -o $@ $^
tests/vectors.h:
@echo ""
CC=gcc -std=c99
-CFLAGS = -pedantic -Wall -Wextra -O3 -march=native
+CFLAGS = -pedantic -Wall -Wextra
HASH =
#HASH=-DED25519_SHA512
HEADERS = $(patsubst %.all.vec, %.h.vec, $(VEC2))
VECTORS = ../vectors.h
-
all: $(VECTORS)
clean:
./$< > $@
%.o: %.c ../utils.h ../ed25519-donna/ed25519.h
- $(CC) $(CFLAGS) -c $< \
- -I .. \
- -I ../ed25519-donna \
- -I ../../src \
+ $(CC) $(CFLAGS) -c $< \
+ -I .. \
+ -I ../ed25519-donna \
+ -I ../../src \
+ -I ../../src/optional \
$$(pkg-config --cflags libsodium)
%.out: %.o monocypher.o utils.o ed25519.o
ed25519.o: ../ed25519-donna/ed25519.c $(wildcard ../ed25519-donna/*.h)
$(CC) $(CFLAGS) -c $< \
-I ../../src \
+ -I ../../src/optional \
$(HASH) \
-DED25519_CUSTOMHASH \
-DED25519_TEST \
-DED25519_NO_INLINE_ASM \
-DED25519_FORCE_32BIT
-monocypher.o: ../../src/monocypher.c ../../src/monocypher.h
-m_sha512.o : ../../src/sha512.c ../../src/sha512.h
+monocypher.o: ../../src/monocypher.c ../../src/monocypher.h
+m_sha512.o : ../../src/optional/sha512.c ../../src/optional/sha512.h
monocypher.o m_sha512.o:
- $(CC) $(CFLAGS) -c $< -I ../../src
+ $(CC) $(CFLAGS) -c $< -I ../../src -I ../../src/optional
vector_to_header.out: ../vector_to_header.c
$(CC) $(CFLAGS) $< -o $@