2018-06-04 23:19:09 +02:00
|
|
|
OS = $(shell uname)
|
|
|
|
ARCH = $(shell uname -p)
|
|
|
|
|
|
|
|
LLVMCC=gclang
|
|
|
|
LLVMGET=get-bc
|
|
|
|
|
|
|
|
TECLA=libtecla
|
|
|
|
TECLA_TARBALL=${TECLA}.tar.gz
|
|
|
|
|
|
|
|
ifeq (Darwin, $(findstring Darwin, ${OS}))
|
|
|
|
|
|
|
|
LIBEXT=dylib
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
LIBEXT=so
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
TECLA_BITCODE=enhance.bc libtecla.a.bc libtecla.${LIBEXT}.bc
|
|
|
|
|
|
|
|
all: ${TECLA_BITCODE}
|
|
|
|
|
|
|
|
${TECLA}: ${TECLA_TARBALL}
|
|
|
|
tar xvfz ${TECLA_TARBALL}
|
|
|
|
|
|
|
|
${TECLA}/enhance: ${TECLA}
|
|
|
|
cd ${TECLA}; CC=${LLVMCC} make
|
|
|
|
|
|
|
|
enhance.bc: ${TECLA}/enhance
|
|
|
|
cd ${TECLA}; ${LLVMGET} enhance; mv enhance.bc ../
|
|
|
|
|
|
|
|
|
|
|
|
libtecla.a.bc: ${TECLA}/enhance
|
|
|
|
cd ${TECLA}; ${LLVMGET} -b libtecla.a; mv libtecla.a.bc ../
|
|
|
|
|
|
|
|
libtecla.${LIBEXT}.bc: ${TECLA}/enhance
|
|
|
|
cd ${TECLA}; ${LLVMGET} libtecla.${LIBEXT}; mv libtecla*${LIBEXT}*.bc ../libtecla.${LIBEXT}.bc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
very_clean:
|
|
|
|
rm -rf ${TECLA} ${TECLA_BITCODE}
|
|
|
|
|
|
|
|
spotless: very_clean
|
|
|
|
rm -rf ${TECLA_TARBALL}
|