diff options
Diffstat (limited to 'GNUmakefile')
-rw-r--r-- | GNUmakefile | 66 |
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 $^ |