Makefile.makedev revision 1.9
11.9Slukem# $NetBSD: Makefile.makedev,v 1.9 2004/01/01 14:34: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.1SlukemMTREECONF+= ${MAKEDEVSPEC} 431.1Slukem 441.8Slukem${MAKEDEVSPEC}: ${MAKEDEVSCRIPT} 451.1Slukem -rm -f ${.TARGET} ${.TARGET}.tmp 461.8Slukem MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 471.9Slukem ${HOST_SH} ${MAKEDEVSCRIPT} -s ${MAKEDEVTARGETS} \ 481.9Slukem | sed -e 's,^\.,./dev,' > ${.TARGET}.tmp \ 491.1Slukem && sort -o ${.TARGET} ${.TARGET}.tmp 501.1Slukem 511.1Slukem.else # ! MAKEDEVTARGETS 521.1Slukem 531.1Slukem# 541.1Slukem# MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon 551.3Slukem# init(8) to mount an mfs /dev and recreate the devices by 561.3Slukem# (effectively) running "cd /dev ; ./MAKEDEV all" 571.1Slukem# 581.1SlukemLISTS+= ${DISTRIBDIR}/common/list.makedev 591.7SlukemIMAGEDEPENDS+= ${MAKEDEVSCRIPT} 601.7SlukemPARSELISTENV+= MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q} 611.1Slukem 621.1Slukem${MAKEDEVSPEC}: .PHONY 631.1Slukem 641.1Slukem.endif # ! MAKEDEVTARGETS 651.5Slukem 661.5Slukem 671.5Slukem.endif # _MAKEFILE_MAKEDEV_ 68