Annotation of src/distrib/common/Makefile.makedev, Revision 1.14
1.14 ! tsutsui 1: # $NetBSD: Makefile.makedev,v 1.13 2007/03/03 06:40:06 apb Exp $
1.1 lukem 2: #
3: # Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list
1.14 ! tsutsui 4: # (if set), otherwise copy .OBJDIR-of-etc/MAKEDEV to ./dev
1.4 lukem 5: #
6: # If this is to be used with Makefile.image, then this file should be
7: # .include-d first.
1.1 lukem 8: #
9: # Required variables:
1.2 lukem 10: # NETBSDSRCDIR top level of src tree (set by <bsd.own.mk>)
1.1 lukem 11: # MACHINE machine name (set externally by build framework)
12: #
13: # Optional variables:
1.7 lukem 14: # MAKEDEVTARGETS targets to create with .OBJDIR-of-etc/MAKEDEV
1.1 lukem 15: #
16: # Variables modified by this:
1.7 lukem 17: # MAKEDEVSCRIPT path to .OBJDIR-of-etc/MAKEDEV
18: # MTREECONF may get "devices.spec" added
19: # LISTS may get "list.makedev" added
1.13 apb 20: # IMAGEDEPENDS may get ${MAKEDEVSCRIPT} added
21: # PARSELISTENV may get MAKEDEVSCRIPT=... added
1.1 lukem 22: #
23:
1.5 lukem 24: .if !defined(_MAKEFILE_MAKEDEV_)
25: _MAKEFILE_MAKEDEV_=1
26:
27:
1.1 lukem 28: MAKEDEVSPEC?= devices.spec
29:
1.7 lukem 30: _MAKEDEVOBJDIR!=cd ${NETBSDSRCDIR}/etc && ${PRINTOBJDIR}
31: MAKEDEVSCRIPT= ${_MAKEDEVOBJDIR}/MAKEDEV
32:
1.1 lukem 33: CLEANFILES+= ${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp
34:
35:
36: .if defined(MAKEDEVTARGETS)
37:
38: #
39: # MAKEDEVTARGETS is set; add those devices to the mtree spec that's
40: # used to build the file system
41: #
42: MTREECONF+= ${MAKEDEVSPEC}
43:
1.13 apb 44: ${MAKEDEVSPEC}: ${MAKEDEVSCRIPT}
1.10 lukem 45: ${_MKTARGET_CREATE}
1.1 lukem 46: -rm -f ${.TARGET} ${.TARGET}.tmp
1.8 lukem 47: MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
1.9 lukem 48: ${HOST_SH} ${MAKEDEVSCRIPT} -s ${MAKEDEVTARGETS} \
1.11 lukem 49: | sed -e '/^\. type=dir/d' -e 's,^\.,./dev,' > ${.TARGET}.tmp \
1.1 lukem 50: && sort -o ${.TARGET} ${.TARGET}.tmp
51:
52: .else # ! MAKEDEVTARGETS
53:
54: #
55: # MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon
1.3 lukem 56: # init(8) to mount an mfs /dev and recreate the devices by
57: # (effectively) running "cd /dev ; ./MAKEDEV all"
1.1 lukem 58: #
59: LISTS+= ${DISTRIBDIR}/common/list.makedev
1.13 apb 60: IMAGEDEPENDS+= ${MAKEDEVSCRIPT}
1.7 lukem 61: PARSELISTENV+= MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q}
1.1 lukem 62:
63: ${MAKEDEVSPEC}: .PHONY
64:
65: .endif # ! MAKEDEVTARGETS
1.5 lukem 66:
67:
68: .endif # _MAKEFILE_MAKEDEV_
CVSweb <webmaster@jp.NetBSD.org>