aboutsummaryrefslogblamecommitdiff
path: root/libtfm/GNUmakefile
blob: df90ddf4a46c281fb27cfa595617830d2a7e3735 (plain) (tree)













































                                                                                                                   
# 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}'