aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2013-06-20 09:48:08 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2013-06-20 09:48:08 +0000
commit4698330b903864d20f54c8bca7306d9551744795 (patch)
tree4b69e359c22ec2c9fd2979f29da86012373959d2
parenta1521ccaf6052551dd5b1853410d556244dc9f6b (diff)
downloadports-4698330b903864d20f54c8bca7306d9551744795.tar.gz
ports-4698330b903864d20f54c8bca7306d9551744795.zip
Add a new USES: fmake
This uses will allow to build ports using the legacy FreeBSD make, for ports not compatible with bmake
Notes
Notes: svn path=/head/; revision=321366
-rw-r--r--CHANGES9
-rw-r--r--Mk/Uses/fmake.mk39
2 files changed, 47 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 0dc8122ed03e..994bfe6b1cf0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,8 +10,15 @@ in the release notes and/or placed into UPDATING.
All ports committers are allowed to commit to this file.
+20130620:
+AUTHOR:
+ * New USES: fmake
+
+ This uses will allow to build ports using the legacy FreeBSD make, for ports
+ not compatible with bmake
+
20130614:
-AUTHOR: bapt@FreeBSD.org
+AUTHOR: bapt@FreeBSD.org
* New macros to help dealing with ports that have options:
diff --git a/Mk/Uses/fmake.mk b/Mk/Uses/fmake.mk
new file mode 100644
index 000000000000..3eb07038b017
--- /dev/null
+++ b/Mk/Uses/fmake.mk
@@ -0,0 +1,39 @@
+# $FreeBSD$
+#
+# Provide support to use the legacy FreeBSD make
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+# Feature: fmake
+# Usage: USES=fmake
+#
+
+.if !defined(_INCLUDE_USES_FMAKE_MK)
+_INCLUDE_USES_FMAKE_MK= yes
+
+.if defined(fmake_ARGS)
+IGNORE= Incorrect 'USES+= fmake:${fmake_ARGS}' fmake takes no arguments
+.endif
+
+.if defined(.PARSEDIR)
+FMAKE= ${LOCALBASE}/bin/fmake
+BUILD_DEPENDS+= ${FMAKE}:${PORTSDIR}/devel/fmake
+CONFIGURE_ENV+= MAKE=${FMAKE}
+
+.if !target(do-build)
+do-build:
+ @set -e ; (cd ${BUILD_WRKSRC}; if ! ${SETENV} ${MAKE_ENV} ${FMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}; then \
+ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \
+ (${ECHO_CMD} ${BUILD_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+.endif
+
+.if !target(do-install)
+do-install:
+ @set -e ; (cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${FMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
+.endif
+.endif
+.endif