aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--DEPENDENCIES31
-rw-r--r--Makefile17
3 files changed, 48 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index de73a4d..be22ab3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@ obj/
*.so
*.su
*.gch
+*.a
*.info
*.pdf
*.ps
diff --git a/DEPENDENCIES b/DEPENDENCIES
new file mode 100644
index 0000000..271ad84
--- /dev/null
+++ b/DEPENDENCIES
@@ -0,0 +1,31 @@
+RUNTIME DEPENDENCIES:
+
+ libc
+
+
+BUILD DEPENDENCIES:
+
+ libc
+ gcc
+ make
+ coreutils
+ binutils
+
+
+CHECK DEPENDENCIES:
+
+ libc
+ valgrind
+ make
+ coreutils
+
+
+BENCHMARK DEPENDENCIES:
+
+ libc
+ make
+ coreutils
+ median
+ grep (only needed for src/benchmark-flags)
+ sed (only needed for src/benchmark-flags)
+
diff --git a/Makefile b/Makefile
index de06ae5..1955988 100644
--- a/Makefile
+++ b/Makefile
@@ -34,12 +34,19 @@ FLAGS = -std=gnu99 $(WARN)
LIB_OBJ = digest files generalised-spec hex state
+.PHONY: default
+default: lib test
+
.PHONY: all
all: lib test benchmark
.PHONY: lib
-lib: bin/libkeccak.so.$(LIB_VERSION) bin/libkeccak.so.$(LIB_MAJOR) bin/libkeccak.so
+lib: so a
+
+
+.PHONY: so
+so: bin/libkeccak.so.$(LIB_VERSION) bin/libkeccak.so.$(LIB_MAJOR) bin/libkeccak.so
obj/libkeccak/%.o: src/libkeccak/%.c src/libkeccak.h src/libkeccak/*.h
@mkdir -p obj/libkeccak
@@ -58,6 +65,14 @@ bin/libkeccak.so:
ln -sf libkeccak.so.$(LIB_VERSION) $@
+.PHONY: a
+a: bin/libkeccak.a
+
+bin/libkeccak.a: $(foreach O,$(LIB_OBJ),obj/libkeccak/$(O).o)
+ @mkdir -p bin
+ ar rcs $@ $^
+
+
.PHONY: test
test: bin/test