diff options
author | Simon J. Gerraty <sjg@FreeBSD.org> | 2018-05-19 00:26:00 +0000 |
---|---|---|
committer | Simon J. Gerraty <sjg@FreeBSD.org> | 2018-05-19 00:26:00 +0000 |
commit | 494f719155c35fc5aef3d18a6a41f6dc7692cccc (patch) | |
tree | a254841e1dce5bdd41f9a050d842b56c2ed68171 /contrib/bmake/mk/cython.mk | |
parent | cccc969bc7f50a0f47f19bb8d195994630a500ea (diff) | |
parent | a5422567f996e7316e1e9471b8b993f146212fcd (diff) | |
download | src-494f719155c35fc5aef3d18a6a41f6dc7692cccc.tar.gz src-494f719155c35fc5aef3d18a6a41f6dc7692cccc.zip |
Merge bmake-20180512
Skip polling job token pipe,
better handle sysV style includes with variables.
Notes
Notes:
svn path=/head/; revision=333820
Diffstat (limited to 'contrib/bmake/mk/cython.mk')
-rw-r--r-- | contrib/bmake/mk/cython.mk | 57 |
1 files changed, 31 insertions, 26 deletions
diff --git a/contrib/bmake/mk/cython.mk b/contrib/bmake/mk/cython.mk index 7d9b8cd6a5b5..c1318b2174e9 100644 --- a/contrib/bmake/mk/cython.mk +++ b/contrib/bmake/mk/cython.mk @@ -1,5 +1,5 @@ # RCSid: -# $Id: cython.mk,v 1.6 2014/10/15 06:23:51 sjg Exp $ +# $Id: cython.mk,v 1.7 2018/03/25 18:46:11 sjg Exp $ # # @(#) Copyright (c) 2014, Simon J. Gerraty # @@ -14,15 +14,6 @@ # sjg@crufty.net # -# this is what we build -CYTHON_MODULE = ${CYTHON_MODULE_NAME}${CYTHON_PYVERSION}.so - -CYTHON_MODULE_NAME?= it -CYTHON_SRCS?= ${CYTHON_MODULE_NAME}.pyx - -# this is where we save generated src -CYTHON_SAVEGENDIR?= ${.CURDIR}/gen - # pyprefix is where python bits are # which may not be where we want to put ours (prefix) .if exists(/usr/pkg/include) @@ -34,13 +25,36 @@ PYTHON_VERSION?= 2.7 PYTHON_H?= ${pyprefix}/include/python${PYTHON_VERSION}/Python.h PYVERSION:= ${PYTHON_VERSION:C,\..*,,} +CFLAGS+= -I${PYTHON_H:H} + +# conf.host_target() is limited to uname -m rather than uname -p +_HOST_MACHINE!= uname -m +.if ${HOST_TARGET:M*${_HOST_MACHINE}} == "" +PY_HOST_TARGET:= ${HOST_TARGET:S,${_HOST_ARCH:U${uname -p:L:sh}}$,${_HOST_MACHINE},} +.endif + +COMPILE.c?= ${CC} -c ${CFLAGS} +PICO?= .pico + +.SUFFIXES: ${PICO} .c + +.c${PICO}: + ${COMPILE.c} ${PICFLAG} ${CC_PIC} ${.IMPSRC} -o ${.TARGET} + +# this is what we build +.if !empty(CYTHON_MODULE_NAME) +CYTHON_MODULE = ${CYTHON_MODULE_NAME}${CYTHON_PYVERSION}.so + +CYTHON_SRCS?= ${CYTHON_MODULE_NAME}.pyx + +# this is where we save generated src +CYTHON_SAVEGENDIR?= ${.CURDIR}/gen + # set this empty if you don't want to handle multiple versions .if !defined(CYTHON_PYVERSION) CYTHON_PYVERSION:= ${PYVERSION} .endif -CFLAGS+= -I${PYTHON_H:H} - CYTHON_GENSRCS= ${CYTHON_SRCS:R:S,$,${CYTHON_PYVERSION}.c,} SRCS+= ${CYTHON_GENSRCS} @@ -70,19 +84,8 @@ save-gen: ${CYTHON_GENSRCS} .endif -COMPILE.c?= ${CC} -c ${CFLAGS} - -.c.So: - ${COMPILE.c} ${PICFLAG} ${CC_PIC} ${.IMPSRC} -o ${.TARGET} - -${CYTHON_MODULE}: ${SRCS:S,.c,.So,} - ${CC} ${CC_SHARED:U-shared} -o ${.TARGET} ${.ALLSRC:M*.So} ${LDADD} - -# conf.host_target() is limited to uname -m rather than uname -p -_HOST_MACHINE!= uname -m -.if ${HOST_TARGET:M*${_HOST_MACHINE}} == "" -PY_HOST_TARGET:= ${HOST_TARGET:S,${_HOST_ARCH:U${uname -p:L:sh}}$,${_HOST_MACHINE},} -.endif +${CYTHON_MODULE}: ${SRCS:S,.c,${PICO},} + ${CC} ${CC_SHARED:U-shared} -o ${.TARGET} ${.ALLSRC:M*${PICO}} ${LDADD} MODULE_BINDIR?= ${.CURDIR:H}/${PY_HOST_TARGET:U${HOST_TARGET}} @@ -93,4 +96,6 @@ install-cython-module: ${CYTHON_MODULE} ${INSTALL} -d ${DESTDIR}${MODULE_BINDIR} ${INSTALL} -m 755 ${.ALLSRC} ${DESTDIR}${MODULE_BINDIR} -CLEANFILES+= *.So ${CYTHON_MODULE} +CLEANFILES+= *${PICO} ${CYTHON_MODULE} + +.endif |