aboutsummaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/waf.mk49
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