Home | History | Annotate | Line # | Download | only in common
Makefile.makedev revision 1.2.2.1
      1  1.2.2.1     tv #	$NetBSD: Makefile.makedev,v 1.2.2.1 2002/06/02 01:21:59 tv Exp $
      2      1.1  lukem #
      3      1.1  lukem # Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list
      4      1.1  lukem # (if set), otherwise copy etc.${MACHINE}/MAKEDEV to ./dev
      5      1.1  lukem #
      6      1.1  lukem 
      7      1.1  lukem #
      8      1.1  lukem # Required variables:
      9      1.2  lukem #	NETBSDSRCDIR	top level of src tree (set by <bsd.own.mk>)
     10      1.1  lukem #	MACHINE		machine name (set externally by build framework)
     11      1.1  lukem #
     12      1.1  lukem # Optional variables:
     13      1.1  lukem #	MAKEDEVTARGETS	targets to create with etc/etc.${MACHINE}/MAKEDEV
     14      1.1  lukem #
     15      1.1  lukem # Variables modified by this:
     16      1.1  lukem #	MTREECONF	may get "devices.spec" added to it
     17      1.1  lukem #
     18      1.1  lukem 
     19      1.1  lukem MAKEDEVSPEC?=	devices.spec
     20      1.1  lukem 
     21      1.1  lukem CLEANFILES+=	${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp
     22      1.1  lukem 
     23      1.1  lukem 
     24      1.1  lukem .if defined(MAKEDEVTARGETS)
     25      1.1  lukem 
     26      1.1  lukem #
     27      1.1  lukem #	MAKEDEVTARGETS is set; add those devices to the mtree spec that's
     28      1.1  lukem #	used to build the file system
     29      1.1  lukem #
     30      1.2  lukem _MAKEDEVSCRIPT=	${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV
     31      1.1  lukem _MAKEDEVWRAP=	${DISTRIBDIR}/common/MAKEDEV.wrapper
     32      1.1  lukem _MAKEDEV2SPEC=	${DISTRIBDIR}/common/makedev2spec.awk
     33      1.1  lukem 
     34      1.1  lukem MTREECONF+=	${MAKEDEVSPEC}
     35      1.1  lukem 
     36      1.1  lukem ${MAKEDEVSPEC}:	${_MAKEDEVSCRIPT} ${_MAKEDEVWRAP} ${_MAKEDEV2SPEC}
     37      1.1  lukem 	-rm -f ${.TARGET} ${.TARGET}.tmp
     38      1.1  lukem 	MAKEDEVSCRIPT=${_MAKEDEVSCRIPT:Q} \
     39      1.1  lukem 	    sh ${_MAKEDEVWRAP} ${MAKEDEVTARGETS} | \
     40      1.1  lukem 	    awk -f ${_MAKEDEV2SPEC} > ${.TARGET}.tmp \
     41      1.1  lukem 	&& sort -o ${.TARGET} ${.TARGET}.tmp
     42      1.1  lukem 
     43      1.1  lukem .else	# ! MAKEDEVTARGETS
     44      1.1  lukem 
     45      1.1  lukem #
     46      1.1  lukem #	MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon
     47  1.2.2.1     tv #	init(8) to mount an mfs /dev and recreate the devices by
     48  1.2.2.1     tv #	(effectively) running "cd /dev ; ./MAKEDEV all"
     49      1.1  lukem #
     50      1.1  lukem LISTS+=		${DISTRIBDIR}/common/list.makedev
     51      1.2  lukem IMAGEDEPENDS+=	${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV
     52      1.1  lukem 
     53      1.1  lukem ${MAKEDEVSPEC}:	.PHONY
     54      1.1  lukem 
     55      1.1  lukem .endif	# ! MAKEDEVTARGETS
     56