diff options
Diffstat (limited to 'GNUmakefile')
-rw-r--r-- | GNUmakefile | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile index 692ddf1..10299f7 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -28,6 +28,13 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Whether to enable threading. Main reason for being able to turn it +# off is that gdb on the Novena goes bananas when threading is enabled. + +ifndef ENABLE_THREADS + ENABLE_THREADS := yes +endif + LIBHAL_DIR = ../libhal LIBTFM_DIR = ../libtfm SQLITE3_DIR = ../sqlite3 @@ -35,6 +42,12 @@ SQLITE3_DIR = ../sqlite3 CFLAGS += -g3 -fPIC -Wall -std=c99 -I${LIBHAL_DIR} -I${SQLITE3_DIR} LIBS := ${LIBHAL_DIR}/libhal.a ${LIBTFM_DIR}/libtfm.a ${SQLITE3_DIR}/libsqlite3.a +ifeq "${ENABLE_THREADS}" "yes" + CFLAGS += -pthread +else + CFLAGS += -DUSE_PTHREADS=0 +endif + all: libpkcs11.so clean: @@ -53,7 +66,7 @@ pkcs11.o: pkcs11.c schema.h attributes.h ${CC} ${CFLAGS} -c $< pkcs11.so: pkcs11.o ${LIBS} - ${CC} -shared -o $@ -Wl,-Bsymbolic-functions -Wl,-Bsymbolic -Wl,-z,noexecstack -g $^ + ${CC} ${CFLAGS} -shared -o $@ -Wl,-Bsymbolic-functions -Wl,-Bsymbolic -Wl,-z,noexecstack -g $^ libpkcs11.so: pkcs11.so objcopy -w -G 'C_*' $< $@ @@ -62,3 +75,29 @@ tags: TAGS TAGS: *.[ch] etags $^ + +# Kudge for testing, gussy this up if we decide to keep it + +HSMBULLY := $(firstword $(wildcard $(addsuffix /hsmbully,$(subst :, ,.:${PATH})))) + +ifneq "${HSMBULLY}" "" + +HSMBULLY_OPTIONS := \ + --pin fnord --so-pin fnord --pkcs11lib $(abspath libpkcs11.so) \ + --verbose=9 --fast-and-frivolous --skip-fragmentation --skip-keysizing + +FNORD := x'98034e94dd4fc527fb8a9296eab55677cd4ce40e025d42acae3cfcc7813f3b9d' +SALT := x'000102030405060708090a0b0c0d0e0f' +PIN_SQL := UPDATE global SET user_pin = ${FNORD}, user_pin_salt = ${SALT}, so_pin = ${FNORD}, so_pin_salt = ${SALT} + +export PKCS11_DATABASE=$(abspath .pkcs11.db) + +SQLITE3_CMD := $(abspath ../sqlite3/build/sqlite3) + +bully: all + rm -f ${PKCS11_DATABASE} ${PKCS11_DATABASE}-journal + ${SQLITE3_CMD} ${PKCS11_DATABASE} <schema.sql + ${SQLITE3_CMD} -echo ${PKCS11_DATABASE} "${PIN_SQL}" + sudo -E ${HSMBULLY} ${HSMBULLY_OPTIONS} + +endif |