# $NetBSD: Makefile.makedev,v 1.6 2003/05/08 13:04:37 christos Exp $ # # Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list # (if set), otherwise copy etc.${MACHINE}/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 ) # MACHINE machine name (set externally by build framework) # # Optional variables: # MAKEDEVTARGETS targets to create with etc/etc.${MACHINE}/MAKEDEV # # Variables modified by this: # MTREECONF may get "devices.spec" added to it # .if !defined(_MAKEFILE_MAKEDEV_) _MAKEFILE_MAKEDEV_=1 MAKEDEVSPEC?= devices.spec 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 # _MAKEDEVSCRIPT= ${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV _MAKEDEVWRAP= ${DISTRIBDIR}/common/MAKEDEV.wrapper _MAKEDEV2SPEC= ${DISTRIBDIR}/common/makedev2spec.awk MTREECONF+= ${MAKEDEVSPEC} ${MAKEDEVSPEC}: ${_MAKEDEVSCRIPT} ${_MAKEDEVWRAP} ${_MAKEDEV2SPEC} -rm -f ${.TARGET} ${.TARGET}.tmp MAKEDEVSCRIPT=${_MAKEDEVSCRIPT:Q} \ ${HOST_SH} ${_MAKEDEVWRAP} ${MAKEDEVTARGETS} | \ awk -f ${_MAKEDEV2SPEC} > ${.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+= ${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV ${MAKEDEVSPEC}: .PHONY .endif # ! MAKEDEVTARGETS .endif # _MAKEFILE_MAKEDEV_