aboutsummaryrefslogtreecommitdiff
path: root/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile66
1 files changed, 66 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000..6f98b45
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,66 @@
+# Copyright (c) 2015, SUNET
+#
+# Redistribution and use in source and binary forms, with or
+# without modification, are permitted provided that the following
+# conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+INC = hal.h
+LIB = libhal.a
+OBJ = ${IO_OBJ} csprng.o hash.o aes_keywrap.o pbkdf2.o \
+ modexp.o rsa.o errorstrings.o
+
+IO_OBJ_EIM = hal_io_eim.o novena-eim.o
+IO_OBJ_I2C = hal_io_i2c.o
+
+# Default I/O bus is EIM, override this to use I2C instead
+IO_OBJ = ${IO_OBJ_EIM}
+
+TFMDIR := $(abspath ../libtfm)
+CFLAGS := -g3 -Wall -fPIC -std=c99 -I${TFMDIR}
+LDFLAGS := -g3 -L${TFMDIR} -ltfm
+
+all: ${LIB}
+ cd tests; ${MAKE} CFLAGS='${CFLAGS} -I..' LDFLAGS='${LDFLAGS}' $@
+ cd utils; ${MAKE} CFLAGS='${CFLAGS} -I..' LDFLAGS='${LDFLAGS}' $@
+
+${OBJ}: ${INC}
+
+${LIB}: ${OBJ}
+ ar rcs $@ $^
+
+test: all
+ cd tests; ${MAKE} -k $@
+
+clean:
+ rm -f ${OBJ} ${LIB}
+ cd tests; ${MAKE} $@
+ cd utils; ${MAKE} $@
+
+distclean: clean
+ rm TAGS
+
+tags: TAGS
+
+TAGS: *.[ch]
+ etags $^