From aa90cb43b370ee219e1e14ad774b662a53178727 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sat, 25 Jun 2016 00:22:11 -0400 Subject: Finish unwinding subrepository hairball: VPATH setup. --- libraries/libcli/Makefile | 26 +++++++++++++++++ libraries/libhal/GNUmakefile | 14 ++++++++++ libraries/libhal/tests/GNUmakefile | 10 +++++++ libraries/libhal/utils/GNUmakefile | 10 +++++++ libraries/libtfm/GNUmakefile | 46 +++++++++++++++++++++++++++++++ libraries/libtfm/tomsfastmath/GNUmakefile | 8 ++++++ 6 files changed, 114 insertions(+) create mode 100644 libraries/libcli/Makefile create mode 100644 libraries/libhal/GNUmakefile create mode 100644 libraries/libhal/tests/GNUmakefile create mode 100644 libraries/libhal/utils/GNUmakefile create mode 100644 libraries/libtfm/GNUmakefile create mode 100644 libraries/libtfm/tomsfastmath/GNUmakefile (limited to 'libraries') diff --git a/libraries/libcli/Makefile b/libraries/libcli/Makefile new file mode 100644 index 0000000..509f493 --- /dev/null +++ b/libraries/libcli/Makefile @@ -0,0 +1,26 @@ +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../..) +endif + +REPO := ${CRYPTECH_ROOT}/user/ft/libcli + +vpath %.c ${REPO} +vpath %.h ${REPO} + +include ${REPO}/Makefile + +# Kludge alert: +# +# We really should teach Makefiles that need libcli.h to look in the +# right place, but we don't want to wire the current location of +# libcli into too many Makefiles, since we intend to move it soon. +# +# So, for the moment, we just copy libcli.h. Clean this up after the +# the repository moves (and maybe do something about the general +# assumption that header files and libraries always live in the same +# directory, that's wrong in a VPATH-based world). + +all: $(abspath .)/libcli.h + +$(abspath .)/libcli.h: ${REPO}/libcli.h + cp -p $< $@ diff --git a/libraries/libhal/GNUmakefile b/libraries/libhal/GNUmakefile new file mode 100644 index 0000000..03b1636 --- /dev/null +++ b/libraries/libhal/GNUmakefile @@ -0,0 +1,14 @@ +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../..) +endif + +REPO := ${CRYPTECH_ROOT}/sw/libhal + +TFMDIR := $(abspath ../libtfm) + +CFLAGS += -I${REPO} + +vpath %.c ${REPO} +vpath %.h ${REPO}:${LIBTFM_DIR} + +include ${CRYPTECH_ROOT}/sw/libhal/GNUmakefile diff --git a/libraries/libhal/tests/GNUmakefile b/libraries/libhal/tests/GNUmakefile new file mode 100644 index 0000000..1d7449a --- /dev/null +++ b/libraries/libhal/tests/GNUmakefile @@ -0,0 +1,10 @@ +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../../..) +endif + +TFMDIR := $(abspath ../../libtfm) + +vpath %.c ${CRYPTECH_ROOT}/sw/libhal/tests +vpath %.h ${CRYPTECH_ROOT}/sw/libhal/tests:${LIBTFM_DIR} + +include ${CRYPTECH_ROOT}/sw/libhal/tests/GNUmakefile diff --git a/libraries/libhal/utils/GNUmakefile b/libraries/libhal/utils/GNUmakefile new file mode 100644 index 0000000..9d38efd --- /dev/null +++ b/libraries/libhal/utils/GNUmakefile @@ -0,0 +1,10 @@ +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../../..) +endif + +TFMDIR := $(abspath ../../libtfm) + +vpath %.c ${CRYPTECH_ROOT}/sw/libhal/utils +vpath %.h ${CRYPTECH_ROOT}/sw/libhal/utils:${LIBTFM_DIR} + +include ${CRYPTECH_ROOT}/sw/libhal/utils/GNUmakefile diff --git a/libraries/libtfm/GNUmakefile b/libraries/libtfm/GNUmakefile new file mode 100644 index 0000000..ca86f80 --- /dev/null +++ b/libraries/libtfm/GNUmakefile @@ -0,0 +1,46 @@ + +# This duplicates more of sw/thirdparty/libtfm/GNUmakefile than I +# would like, but it does the job. Prettier makefiles can wait for another day. + +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../..) +endif + +REPO := ${CRYPTECH_ROOT}/sw/thirdparty/libtfm + +# vpath %.c ${REPO} +# vpath %.h ${REPO} + +BITS := 8192 + +HDR := ${REPO}/tomsfastmath/src/headers/tfm.h +LIB := tomsfastmath/libtfm.a + +#CFLAGS += -DTFM_X86 +#CFLAGS += -DTFM_NO_ASM + +CFLAGS += -fPIC -Wall -W -Wshadow -I${REPO}/tomsfastmath/src/headers -g3 -DFP_MAX_SIZE="(${BITS}*2+(8*DIGIT_BIT))" + +TARGETS := $(notdir ${HDR} ${LIB}) + +all: ${TARGETS} + +clean: + rm -rf ${TARGETS} $(notdir ${HDR}.tmp) ${LIB} tomsfastmath/src + +distclean: clean + rm -f TAGS + +$(notdir ${HDR}): ${HDR} + echo >$@.tmp '/* Configure size of largest bignum we want to handle -- see notes in tfm.pdf */' + echo >>$@.tmp '#define FP_MAX_SIZE (${BITS}*2+(8*DIGIT_BIT))' + echo >>$@.tmp '' + cat >>$@.tmp $^ + mv -f $@.tmp $@ + +$(notdir ${LIB}): ${LIB} + ln -f $^ $@ + +${LIB}: ${HDR} + (cd ${REPO} && find tomsfastmath/src -type d) | xargs mkdir -p + cd tomsfastmath; ${MAKE} CFLAGS='${CFLAGS}' diff --git a/libraries/libtfm/tomsfastmath/GNUmakefile b/libraries/libtfm/tomsfastmath/GNUmakefile new file mode 100644 index 0000000..7141763 --- /dev/null +++ b/libraries/libtfm/tomsfastmath/GNUmakefile @@ -0,0 +1,8 @@ +ifndef CRYPTECH_ROOT + CRYPTECH_ROOT := $(abspath ../../../../..) +endif + +vpath %.c ${CRYPTECH_ROOT}/sw/thirdparty/libtfm/tomsfastmath +vpath %.h ${CRYPTECH_ROOT}/sw/thirdparty/libtfm/tomsfastmath + +include ${CRYPTECH_ROOT}/sw/thirdparty/libtfm/tomsfastmath/makefile -- cgit v1.2.3