Makefile.makedev revision 1.3
11.3Slukem#	$NetBSD: Makefile.makedev,v 1.3 2002/06/01 16:22:54 lukem Exp $
21.1Slukem#
31.1Slukem# Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list
41.1Slukem# (if set), otherwise copy etc.${MACHINE}/MAKEDEV to ./dev
51.1Slukem#
61.1Slukem
71.1Slukem#
81.1Slukem# Required variables:
91.2Slukem#	NETBSDSRCDIR	top level of src tree (set by <bsd.own.mk>)
101.1Slukem#	MACHINE		machine name (set externally by build framework)
111.1Slukem#
121.1Slukem# Optional variables:
131.1Slukem#	MAKEDEVTARGETS	targets to create with etc/etc.${MACHINE}/MAKEDEV
141.1Slukem#
151.1Slukem# Variables modified by this:
161.1Slukem#	MTREECONF	may get "devices.spec" added to it
171.1Slukem#
181.1Slukem
191.1SlukemMAKEDEVSPEC?=	devices.spec
201.1Slukem
211.1SlukemCLEANFILES+=	${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp
221.1Slukem
231.1Slukem
241.1Slukem.if defined(MAKEDEVTARGETS)
251.1Slukem
261.1Slukem#
271.1Slukem#	MAKEDEVTARGETS is set; add those devices to the mtree spec that's
281.1Slukem#	used to build the file system
291.1Slukem#
301.2Slukem_MAKEDEVSCRIPT=	${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV
311.1Slukem_MAKEDEVWRAP=	${DISTRIBDIR}/common/MAKEDEV.wrapper
321.1Slukem_MAKEDEV2SPEC=	${DISTRIBDIR}/common/makedev2spec.awk
331.1Slukem
341.1SlukemMTREECONF+=	${MAKEDEVSPEC}
351.1Slukem
361.1Slukem${MAKEDEVSPEC}:	${_MAKEDEVSCRIPT} ${_MAKEDEVWRAP} ${_MAKEDEV2SPEC}
371.1Slukem	-rm -f ${.TARGET} ${.TARGET}.tmp
381.1Slukem	MAKEDEVSCRIPT=${_MAKEDEVSCRIPT:Q} \
391.1Slukem	    sh ${_MAKEDEVWRAP} ${MAKEDEVTARGETS} | \
401.1Slukem	    awk -f ${_MAKEDEV2SPEC} > ${.TARGET}.tmp \
411.1Slukem	&& sort -o ${.TARGET} ${.TARGET}.tmp
421.1Slukem
431.1Slukem.else	# ! MAKEDEVTARGETS
441.1Slukem
451.1Slukem#
461.1Slukem#	MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon
471.3Slukem#	init(8) to mount an mfs /dev and recreate the devices by
481.3Slukem#	(effectively) running "cd /dev ; ./MAKEDEV all"
491.1Slukem#
501.1SlukemLISTS+=		${DISTRIBDIR}/common/list.makedev
511.2SlukemIMAGEDEPENDS+=	${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV
521.1Slukem
531.1Slukem${MAKEDEVSPEC}:	.PHONY
541.1Slukem
551.1Slukem.endif	# ! MAKEDEVTARGETS
56