diff options
author | bapt <bapt@FreeBSD.org> | 2015-04-08 23:05:48 +0800 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-04-08 23:05:48 +0800 |
commit | 11557d3b1ca381824ecc50f020623ed56d4ce36a (patch) | |
tree | 81627af7b0f0c701d807cb8a4046a4740517b9f9 /Mk/Uses | |
parent | 1ed12c409b16770d2cb109c7a67bf65ef1a3f27b (diff) | |
download | freebsd-ports-gnome-11557d3b1ca381824ecc50f020623ed56d4ce36a.tar.gz freebsd-ports-gnome-11557d3b1ca381824ecc50f020623ed56d4ce36a.tar.zst freebsd-ports-gnome-11557d3b1ca381824ecc50f020623ed56d4ce36a.zip |
Add a new USES=waf to handle the waf building system, allowing to factorise code
Plug waf into MAKE_CMD and CONFIGURE_CMD so the regular defined targets can be
reused
Always define _MAKE_JOBS so that when bsd.port.mk will stop overwritting
_MAKE_JOBS when parallel jobs are disabled we can enforce -j1 (which is needed
to really disable parallelisation with waf
WAF_CMD has been created to allow one to override the location of the waf script
relatively to WRKSRC
CONFIGURE_TARGET is by default defined to "configure"
ALL_TARGET is by default defined to "build"
INSTALL_TARGET is by default defined to "install"
USES=waf is by default stagedir safe
Diffstat (limited to 'Mk/Uses')
-rw-r--r-- | Mk/Uses/waf.mk | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Mk/Uses/waf.mk b/Mk/Uses/waf.mk new file mode 100644 index 000000000000..3c81f462472d --- /dev/null +++ b/Mk/Uses/waf.mk @@ -0,0 +1,49 @@ +# $FreeBSD$ +# +# Provide support to use the waf building system +# +# Feature: waf +# Usage: USES=waf +# +# It implies USES=python:build automatically is no USES=python has been +# specified yet +# +# WAF_CMD can be specified in the ports if the waf script is not +# in WRKSRC/waf +# CONFIGURE_TARGET default to 'configure' +# ALL_TARGET default to 'build' +# INSTALL_TARGET= default to 'install' + +.if !defined(_INCLUDE_USES_WAF_MK) +_INCLUDE_USES_WAF_MK= yes + +.if !empty(waf_ARGS) +IGNORE= Incorrect 'USES+= waf:${waf_ARGS}' waf takes no arguments +.endif + +.if !${USES:Mpython*} +python_ARGS= 2,build +.include "${USESDIR}/python.mk" +.endif + +MAKEFILE= # +MAKE_FLAGS= # +ALL_TARGET= # +HAS_CONFIGURE= yes +WAF_CMD?= ./waf + +CONFIGURE_TARGET?= configure +ALL_TARGET?= build +INSTALL_TARGET?= install + +CONFIGURE_CMD= ${PYTHON_CMD} ${WAF_CMD} ${CONFIGURE_TARGET} +MAKE_CMD= ${PYTHON_CMD} ${WAF_CMD} +CONFIGURE_ARGS+= --prefix=${PREFIX} \ + ${_MAKE_JOBS} + +DESTDIRNAME= --destdir + +# Set a minimal job of 1 +_MAKE_JOBS= -j${MAKE_JOBS_NUMVER} + +.endif |