11.19Smatt# $NetBSD: Makefile.makedev,v 1.19 2014/08/10 05:56:36 matt Exp $ 21.1Slukem# 31.1Slukem# Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list 41.14Stsutsui# (if set), otherwise copy .OBJDIR-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.13Sapb# IMAGEDEPENDS may get ${MAKEDEVSCRIPT} added 211.13Sapb# 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.19Smatt.if exists(${NETBSDSRCDIR}/etc/etc.${MACHINE_CPU}/MAKEDEV.conf) 451.19SmattMAKEDEV_MACHINE=${MACHINE_CPU} 461.19Smatt.else 471.19SmattMAKEDEV_MACHINE=${MACHINE} 481.19Smatt.endif 491.19Smatt 501.18Smatt${MAKEDEVSPEC}: ${MAKEDEVSCRIPT} Makefile \ 511.19Smatt ${NETBSDSRCDIR}/etc/etc.${MAKEDEV_MACHINE}/MAKEDEV.conf 521.18Smatt 531.10Slukem ${_MKTARGET_CREATE} 541.16Snjoly rm -f ${.TARGET} ${.TARGET}.tmp 551.19Smatt MACHINE=${MAKEDEV_MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 561.9Slukem ${HOST_SH} ${MAKEDEVSCRIPT} -s ${MAKEDEVTARGETS} \ 571.16Snjoly > ${.TARGET}.tmp 581.16Snjoly ${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' ${.TARGET}.tmp \ 591.16Snjoly | sort -o ${.TARGET} 601.1Slukem 611.1Slukem.else # ! MAKEDEVTARGETS 621.1Slukem 631.1Slukem# 641.1Slukem# MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon 651.3Slukem# init(8) to mount an mfs /dev and recreate the devices by 661.3Slukem# (effectively) running "cd /dev ; ./MAKEDEV all" 671.1Slukem# 681.1SlukemLISTS+= ${DISTRIBDIR}/common/list.makedev 691.13SapbIMAGEDEPENDS+= ${MAKEDEVSCRIPT} 701.7SlukemPARSELISTENV+= MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q} 711.1Slukem 721.1Slukem${MAKEDEVSPEC}: .PHONY 731.1Slukem 741.1Slukem.endif # ! MAKEDEVTARGETS 751.5Slukem 761.5Slukem 771.5Slukem.endif # _MAKEFILE_MAKEDEV_ 78