Makefile.makedev revision 1.7
11.7Slukem# $NetBSD: Makefile.makedev,v 1.7 2003/10/25 04:29:24 lukem Exp $ 21.1Slukem# 31.1Slukem# Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list 41.7Slukem# (if set), otherwise copy .OJBDIR-of-etc/MAKEDEV to ./dev 51.4Slukem# 61.4Slukem# If this is to be used with Makefile.image, then this file should be 71.4Slukem# .include-d first. 81.1Slukem# 91.1Slukem# Required variables: 101.2Slukem# NETBSDSRCDIR top level of src tree (set by <bsd.own.mk>) 111.1Slukem# MACHINE machine name (set externally by build framework) 121.1Slukem# 131.1Slukem# Optional variables: 141.7Slukem# MAKEDEVTARGETS targets to create with .OBJDIR-of-etc/MAKEDEV 151.1Slukem# 161.1Slukem# Variables modified by this: 171.7Slukem# MAKEDEVSCRIPT path to .OBJDIR-of-etc/MAKEDEV 181.7Slukem# MTREECONF may get "devices.spec" added 191.7Slukem# LISTS may get "list.makedev" added 201.7Slukem# IMAGEDEPENDS may get ${MAKEDEVSCRIPT} added 211.7Slukem# PARSELISTENV may get MAKEDEVSCRIPT=... added 221.1Slukem# 231.1Slukem 241.5Slukem.if !defined(_MAKEFILE_MAKEDEV_) 251.5Slukem_MAKEFILE_MAKEDEV_=1 261.5Slukem 271.5Slukem 281.1SlukemMAKEDEVSPEC?= devices.spec 291.1Slukem 301.7Slukem_MAKEDEVOBJDIR!=cd ${NETBSDSRCDIR}/etc && ${PRINTOBJDIR} 311.7SlukemMAKEDEVSCRIPT= ${_MAKEDEVOBJDIR}/MAKEDEV 321.7Slukem 331.1SlukemCLEANFILES+= ${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp 341.1Slukem 351.1Slukem 361.1Slukem.if defined(MAKEDEVTARGETS) 371.1Slukem 381.1Slukem# 391.1Slukem# MAKEDEVTARGETS is set; add those devices to the mtree spec that's 401.1Slukem# used to build the file system 411.1Slukem# 421.1Slukem_MAKEDEVWRAP= ${DISTRIBDIR}/common/MAKEDEV.wrapper 431.1Slukem_MAKEDEV2SPEC= ${DISTRIBDIR}/common/makedev2spec.awk 441.1Slukem 451.1SlukemMTREECONF+= ${MAKEDEVSPEC} 461.1Slukem 471.7Slukem${MAKEDEVSPEC}: ${MAKEDEVSCRIPT} ${_MAKEDEVWRAP} ${_MAKEDEV2SPEC} 481.1Slukem -rm -f ${.TARGET} ${.TARGET}.tmp 491.7Slukem MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q} \ 501.6Schristos ${HOST_SH} ${_MAKEDEVWRAP} ${MAKEDEVTARGETS} | \ 511.1Slukem awk -f ${_MAKEDEV2SPEC} > ${.TARGET}.tmp \ 521.1Slukem && sort -o ${.TARGET} ${.TARGET}.tmp 531.1Slukem 541.1Slukem.else # ! MAKEDEVTARGETS 551.1Slukem 561.1Slukem# 571.1Slukem# MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon 581.3Slukem# init(8) to mount an mfs /dev and recreate the devices by 591.3Slukem# (effectively) running "cd /dev ; ./MAKEDEV all" 601.1Slukem# 611.1SlukemLISTS+= ${DISTRIBDIR}/common/list.makedev 621.7SlukemIMAGEDEPENDS+= ${MAKEDEVSCRIPT} 631.7SlukemPARSELISTENV+= MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q} 641.1Slukem 651.1Slukem${MAKEDEVSPEC}: .PHONY 661.1Slukem 671.1Slukem.endif # ! MAKEDEVTARGETS 681.5Slukem 691.5Slukem 701.5Slukem.endif # _MAKEFILE_MAKEDEV_ 71