File:  [DragonFly] / src / share / mk / Attic / bsd.port.mk
Revision 1.24: download - view: text, annotated - select for diffs
Sat Jan 8 11:58:46 2005 UTC (9 years, 3 months ago) by dillon
Branches: MAIN
CVS tags: HEAD
Do not specify the -B option when executing the sub-make.  In the BSD
make, -B is a compatibility option to execute shell commands one per line.
In GNU make (as of vers 3.80) -B is --always-make, which forces all targets
to be made regardless of whether they are out of date or not.

Since both GNU make and our make use MAKEFLAGS to pass build flags between
invocations, -B gets propogated down the chain into the gnu make and blows
everything to itsy bitsy little pieces.

# $FreeBSD: src/share/mk/bsd.port.mk,v 1.303.2.2 2002/07/17 19:08:23 ru Exp $
# $DragonFly: src/share/mk/bsd.port.mk,v 1.24 2005/01/08 11:58:46 dillon Exp $

PORTSDIR?=	/usr/ports
DFPORTSDIR?=	/usr/dfports
PORTPATH!=	/usr/bin/relpath ${PORTSDIR} ${.CURDIR}

.if !defined(DFOSVERSION)
DFOSVERSION!=	/sbin/sysctl -n kern.osreldate
.endif

# Temporary Hack
#
OSVERSION ?= 480102
UNAME_s?= FreeBSD
UNAME_v?=FreeBSD 4.8-CURRENT
UNAME_r?=4.8-CURRENT

.makeenv UNAME_s
.makeenv UNAME_v
.makeenv UNAME_r
.makeenv OSVERSION

.if !exists(${DFPORTSDIR}/${PORTPATH}/Makefile)

.if defined(USE_RC_SUBR)
.undef USE_RC_SUBR
RC_SUBR=	/etc/rc.subr
.endif

.if defined(USE_GCC)
.  if ${USE_GCC} == 3.4
.undef USE_GCC
CCVER=	gcc34
.makeenv CCVER
.  endif
.endif

# If the port does not exist in /usr/dfports/<portpath> use the original
# FreeBSD port.  Also process as per normal if BEFOREPORTMK is set so
# any expected variables are set.
#
.include <bsd.own.mk>
.include "${PORTSDIR}/Mk/bsd.port.mk"

.else

.if !defined(BEFOREPORTMK)
.undef PORTSDIR
.endif

.undef BEFOREPORTMK
.undef AFTERPORTMK

# Otherwise retarget to the DragonFly override port.
#

TARGETS+=	all
TARGETS+=	build
TARGETS+=	checksum
TARGETS+=	clean
TARGETS+=	clean-for-cdrom
TARGETS+=	clean-for-cdrom-list
TARGETS+=	clean-restricted
TARGETS+=	clean-restricted-list
TARGETS+=	configure
TARGETS+=	deinstall
TARGETS+=	depend
TARGETS+=	depends
TARGETS+=	describe
TARGETS+=	distclean
TARGETS+=	extract
TARGETS+=	fetch
TARGETS+=	fetch-list
TARGETS+=	ignorelist
TARGETS+=	makesum
TARGETS+=	maintainer
TARGETS+=	package
TARGETS+=	realinstall
TARGETS+=	reinstall
TARGETS+=	install
TARGETS+=	tags

# WARNING!  Do not use the -B option.  This appears to propogate to the
# gmake (probably because both use the same environment variable, MAKEFLAGS,
# to pass make options) where as of version 3.80 -B means 'always-make',
# which forces all targets, which blows up gnu builds in the ports system
# because it appears to cause the configure.status target to loop.
#
.if !defined(_DFPORTS_REDIRECT)
_DFPORTS_REDIRECT=
.if !make(package-depends-list) && !make(all-depends-list) && \
    !make(run-depends-list) && !make(build-depends-list) && \
    !make(describe)
.BEGIN:
	@echo "WARNING, USING DRAGONFLY OVERRIDE ${DFPORTSDIR}/${PORTPATH}"
	cd ${DFPORTSDIR}/${PORTPATH} && ${MAKE} ${.TARGETS}
.else
.BEGIN:
	@cd ${DFPORTSDIR}/${PORTPATH} && ${MAKE} ${.TARGETS} 
.endif
.endif

.if !empty(.TARGETS)
${.TARGETS}:
.else
all:
.MAIN: all
.endif

# Hack to get Makefiles with conditional statements working
XFREE86_VERSION?=	4
ARCH?=			i386
MACHINE_ARCH?=		i386
HAVE_GNOME?=
FILESDIR?=		${.CURDIR}/files
X_WINDOW_SYSTEM?=	xfree86-4
CAT?=			cat
PREFIX?=		/usr
PERL_LEVEL?=		5
LOCALBASE?=		/usr/local
SED?=			/usr/bin/sed
ECHO_CMD?=		echo
GREP?=			/usr/bin/grep
AWK?=			/usr/bin/awk
UNAME?=			/usr/bin/uname
EXPR?=			/bin/expr
HAVE_SDL?=

# WORKAROUND to get portupgrade working
# Taken from: ${PORTSDIR}/Mk/bsd.port.mk
.if !defined(PKGNAME)
PKGNAME=	${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
.endif
 
.endif