2d1ba244e9
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
64 lines
1.7 KiB
Makefile
64 lines
1.7 KiB
Makefile
# $NetBSD: oss.buildlink3.mk,v 1.10 2009/03/20 19:25:01 joerg Exp $
|
|
#
|
|
# This Makefile fragment is included by packages that require an Open Sound
|
|
# System (OSS) implementation. After inclusion of this file, the following
|
|
# variables may be examined:
|
|
#
|
|
# OSS_TYPE
|
|
# The type of OSS implementation that has been found. "native"
|
|
# means the native OSS implementation is used. "none" means that
|
|
# no suitable OSS implementation could be found.
|
|
#
|
|
OSS_BUILDLINK3_MK:= ${OSS_BUILDLINK3_MK}+
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if !defined(_OSS_TYPE)
|
|
_OSS_TYPE= none
|
|
CHECK_BUILTIN.oss:= yes
|
|
. include "../../mk/oss.builtin.mk"
|
|
CHECK_BUILTIN.oss:= no
|
|
. if defined(IS_BUILTIN.oss) && !empty(IS_BUILTIN.oss:M[yY][eE][sS])
|
|
_OSS_TYPE= native
|
|
. endif
|
|
.endif
|
|
MAKEVARS+= _OSS_TYPE
|
|
|
|
OSS_TYPE= ${_OSS_TYPE}
|
|
|
|
.if ${OSS_TYPE} != "none"
|
|
|
|
BUILDLINK_TREE+= oss -oss
|
|
BUILDLINK_BUILTIN_MK.oss= ../../mk/oss.builtin.mk
|
|
|
|
.if !empty(OSS_BUILDLINK3_MK:M+)
|
|
LIBOSSAUDIO?= ${BUILDLINK_LDADD.oss}
|
|
. if (${OPSYS} == "Linux") && exists(/dev/dsp)
|
|
DEVOSSAUDIO?= /dev/dsp
|
|
DEVOSSSOUND?= /dev/dsp
|
|
. elif ${OPSYS} == "DragonFly"
|
|
DEVOSSAUDIO?= /dev/dsp
|
|
DEVOSSSOUND?= /dev/dsp
|
|
. elif ${OPSYS} == "FreeBSD"
|
|
. if !empty(OS_VERSION:M4.*) || !empty(OS_VERSION:M5.[12]*)
|
|
DEVOSSAUDIO?= /dev/dsp
|
|
DEVOSSSOUND?= /dev/dsp
|
|
. else
|
|
DEVOSSAUDIO?= /dev/dsp0.0
|
|
DEVOSSSOUND?= /dev/dsp0.0
|
|
. endif
|
|
. else
|
|
DEVOSSAUDIO?= /dev/audio
|
|
DEVOSSSOUND?= /dev/sound
|
|
. endif
|
|
|
|
CONFIGURE_ENV+= LIBOSSAUDIO=${LIBOSSAUDIO:Q}
|
|
CONFIGURE_ENV+= DEVOSSAUDIO=${DEVOSSAUDIO:Q}
|
|
CONFIGURE_ENV+= DEVOSSSOUND=${DEVOSSSOUND:Q}
|
|
|
|
MAKE_ENV+= LIBOSSAUDIO=${LIBOSSAUDIO:Q}
|
|
MAKE_ENV+= DEVOSSAUDIO=${DEVOSSAUDIO:Q}
|
|
MAKE_ENV+= DEVOSSSOUND=${DEVOSSSOUND:Q}
|
|
.endif # OSS_BUILDLINK3_MK
|
|
|
|
.endif # OSS_TYPE != none
|