[BACK]Return to Makefile.makedev CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / distrib / common

File: [cvs.NetBSD.org] / src / distrib / common / Makefile.makedev (download)

Revision 1.11, Tue May 4 03:02:17 2004 UTC (15 years, 5 months ago) by lukem
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.10: +2 -2 lines

Remove "./dev type=dir" entry from generated devices.spec, as it
causes the ownership of ${.OBJDIR}/work/dev to be used in the image
instead of that from the earlier entry in work.spec.

#	$NetBSD: Makefile.makedev,v 1.11 2004/05/04 03:02:17 lukem Exp $
#
# Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list
# (if set), otherwise copy .OJBDIR-of-etc/MAKEDEV to ./dev
#
# If this is to be used with Makefile.image, then this file should be
# .include-d first.
#
# Required variables:
#	NETBSDSRCDIR	top level of src tree (set by <bsd.own.mk>)
#	MACHINE		machine name (set externally by build framework)
#
# Optional variables:
#	MAKEDEVTARGETS	targets to create with .OBJDIR-of-etc/MAKEDEV
#
# Variables modified by this:
#	MAKEDEVSCRIPT	path to .OBJDIR-of-etc/MAKEDEV
#	MTREECONF	may get "devices.spec" added
#	LISTS		may get "list.makedev" added
#	IMAGEDEPENDS	may get ${MAKEDEVSCRIPT} added
#	PARSELISTENV	may get MAKEDEVSCRIPT=... added
#

.if !defined(_MAKEFILE_MAKEDEV_)
_MAKEFILE_MAKEDEV_=1


MAKEDEVSPEC?=	devices.spec

_MAKEDEVOBJDIR!=cd ${NETBSDSRCDIR}/etc && ${PRINTOBJDIR}
MAKEDEVSCRIPT=	${_MAKEDEVOBJDIR}/MAKEDEV

CLEANFILES+=	${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp


.if defined(MAKEDEVTARGETS)

#
#	MAKEDEVTARGETS is set; add those devices to the mtree spec that's
#	used to build the file system
#
MTREECONF+=	${MAKEDEVSPEC}

${MAKEDEVSPEC}:	${MAKEDEVSCRIPT}
	${_MKTARGET_CREATE}
	-rm -f ${.TARGET} ${.TARGET}.tmp
	MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
	    ${HOST_SH} ${MAKEDEVSCRIPT} -s ${MAKEDEVTARGETS} \
	    | sed -e '/^\. type=dir/d' -e 's,^\.,./dev,' > ${.TARGET}.tmp \
	&& sort -o ${.TARGET} ${.TARGET}.tmp

.else	# ! MAKEDEVTARGETS

#
#	MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon
#	init(8) to mount an mfs /dev and recreate the devices by
#	(effectively) running "cd /dev ; ./MAKEDEV all"
#
LISTS+=		${DISTRIBDIR}/common/list.makedev
IMAGEDEPENDS+=	${MAKEDEVSCRIPT}
PARSELISTENV+=	MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q}

${MAKEDEVSPEC}:	.PHONY

.endif	# ! MAKEDEVTARGETS


.endif	# _MAKEFILE_MAKEDEV_