aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorlinimon <linimon@FreeBSD.org>2006-06-28 03:40:59 +0800
committerlinimon <linimon@FreeBSD.org>2006-06-28 03:40:59 +0800
commit17ab6a31cc6b5aad61bb891b34de8a3997549a10 (patch)
treef91986dbede0acde6ed33b73202b3ddfeb01b414 /devel
parentc267dcba3e2904b3ff9171a79f6c6ad5cac87520 (diff)
downloadfreebsd-ports-gnome-17ab6a31cc6b5aad61bb891b34de8a3997549a10.tar.gz
freebsd-ports-gnome-17ab6a31cc6b5aad61bb891b34de8a3997549a10.tar.zst
freebsd-ports-gnome-17ab6a31cc6b5aad61bb891b34de8a3997549a10.zip
Common code to support the Python SCONS port installation framework.
Diffstat (limited to 'devel')
-rw-r--r--devel/portmk/Mk/bsd.scons.mk85
1 files changed, 85 insertions, 0 deletions
diff --git a/devel/portmk/Mk/bsd.scons.mk b/devel/portmk/Mk/bsd.scons.mk
new file mode 100644
index 000000000000..9574d8959fa2
--- /dev/null
+++ b/devel/portmk/Mk/bsd.scons.mk
@@ -0,0 +1,85 @@
+#-*- mode: Makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+#
+# bsd.scons.mk - Python-based SCons build system interface.
+# Author: Alexander Botero-Lowry <alex@foxybanana.com>
+#
+# Please view me with 4 column tabs!
+
+# Please make sure all changes to this file are passed through the maintainer.
+SCONS_MAINTAINER= alex@foxybanana.com>
+
+#
+# SCONS_BIN is the location where the scons port installs the scons
+# executable.
+#
+# SCONS_PORT is where the scons port is located in the ports tree.
+#
+SCONS_BIN= ${LOCALBASE}/bin/scons
+SCONS_PORT= ${PORTSDIR}/devel/scons
+
+#
+# CCFLAGS is the scons equivalent of CFLAGS. So we should bring in our
+# FreeBSD CFLAGS.
+#
+# LINKFLAGS is equivalent to LDFLAGS in make speak, so we bring in the
+# FreeBSD default LDFLAGS.
+#
+# Some scons projects may honor PKGCONFIGDIR, which tells them where to
+# look for, and install, pkgconfig files.
+#
+CCFLAGS?= ${CFLAGS}
+LINKFLAGS?= ${LDFLAGS}
+PKGCONFIGDIR?= ${LOCALBASE}/libdata/pkgconfig
+
+CCFLAGS+= -I${LOCALBASE}/include
+CXXFLAGS+= -I${LOCALBASE}/include
+LINKFLAGS+= -L${LOCALBASE}/lib
+
+#
+# SCONS_ENV is where we pass all the stuff that should be the
+# same for any scons port to scons. Things like CCFLAGS, and LINKFLAGS
+# go here.
+#
+# SCONS_ARG is where you pass port specific scons flags to the scons
+# enviornment.
+#
+# SCONS_BUILDENV is where you pass variables you want to be in the
+# System Enviornment instead of the SCons Enviornment.
+#
+# SCONS_TARGET is the same as MAKE_TARGET it is passed as the last
+# argument to scons.
+#
+SCONS_ENV?= CCFLAGS="${CCFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ LINKFLAGS="${LINKFLAGS}" PKGCONFIGDIR="${PKGCONFIGDIR}" \
+ PREFIX="${PREFIX}" CC="${CC}" CXX="${CXX}"
+SCONS_ARGS?=
+SCONS_BUILDENV?=
+SCONS_TARGET?=
+
+#
+# SCONS_INSTALL_TARGET is the default target to be used when
+# installing a port using scons.
+#
+SCONS_INSTALL_TARGET?= ${INSTALL_TARGET}
+
+#
+# Make sure we depend on scons
+#
+BUILD_DEPENDS+= ${SCONS_BIN}:${SCONS_PORT}
+
+.if !target(do-build)
+do-build:
+ @cd ${WRKSRC} && \
+ ${SETENV} ${SCONS_BUILDENV} ${SCONS_BIN} ${SCONS_ENV} ${SCONS_ARGS} \
+ ${SCONS_TARGET}
+.endif
+
+.if !target(do-install)
+do-install:
+ @cd ${WRKSRC} && ${SETENV} ${SCONS_BUILDENV} ${SCONS_BIN} ${SCONS_ENV} \
+ ${SCONS_ARGS} ${SCONS_INSTALL_TARGET}
+.endif
+