diff options
author | linimon <linimon@FreeBSD.org> | 2006-06-28 03:40:59 +0800 |
---|---|---|
committer | linimon <linimon@FreeBSD.org> | 2006-06-28 03:40:59 +0800 |
commit | 17ab6a31cc6b5aad61bb891b34de8a3997549a10 (patch) | |
tree | f91986dbede0acde6ed33b73202b3ddfeb01b414 /devel | |
parent | c267dcba3e2904b3ff9171a79f6c6ad5cac87520 (diff) | |
download | freebsd-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.mk | 85 |
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 + |