This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago This is my m4 MAKEDEV generation system.
.mi -> edit this to add new devices
.sub -> hardcore m4 here, be careful
*/*.md -> machine dependent information (generally device,block (& char) major)
Thanks for eyes/conversation about this over the years from espie, deraadt,
johns, fgsch, hugh, weingart, mickey, and others ..
SEE ALSO
. m4(1), MAKEDEV(8)
23 years ago |
|
- dnl $OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp $
- dnl
- dnl Copyright (c) 2001-2004 Todd T. Fries <todd@OpenBSD.org>
- dnl
- dnl Permission to use, copy, modify, and distribute this software for any
- dnl purpose with or without fee is hereby granted, provided that the above
- dnl copyright notice and this permission notice appear in all copies.
- dnl
- dnl THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- dnl WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- dnl MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- dnl ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- dnl WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- dnl
- dnl
- dnl This file is an m4 file
- dnl
- dnl Conventions:
- dnl
- dnl o First, a change of quote to make shell statements like: `command`
- dnl possible
- dnl
- changequote(`{-', `-}')dnl
- dnl
- dnl o Next, change the comment character to make shell parameter
- dnl substitution possible
- dnl
- changecom(`/*', `*/')dnl
- dnl
- dnl o version info must be stripped of $ so we can say 'generated from' below
- dnl
- dnl If we just use the version string how are we going to know what arch
- dnl 'MAKEDEV.md,v' came from?
- dnl
- dnl Thus, I have used the below to create a version string looking like
- dnl 'OpenBSD: etc.sparc/MAKEDEV.inc,v...' which works, although requires
- dnl some attention if ported to another Id string setup.
- dnl
- dnl
- dnl Initialize the stacks stored in _m4_*
- dnl
- undefine({-_m4_cvs_ver-})dnl
- pushdef({-_m4_cvs_ver-}, {-done-})dnl
- dnl
- undefine({-_m4_devs-})dnl
- pushdef({-_m4_devs-}, {-done-})dnl
- dnl
- undefine({-_m4_disks-})dnl
- undefine({-_m4_disks2-})dnl
- pushdef({-_m4_disks-}, {-done-})dnl
- pushdef({-_m4_disks2-}, {-done-})dnl
- dnl
- dnl define stack 'add to' functions, only unique names queued
- dnl
- define({-ver_q-}, {-ifelse(index($1_ver, y), 0, ,
- {-pushdef({-_m4_cvs_ver-}, {-$2-})define({-$1_ver-}, {-y-})-})-})dnl ver_q
- dnl
- define({-dev_q-}, {-ifelse(index(_q_$1_dev, :), 0,
- {-errprint({-duplicated dev id: $1 at -}__file__{-:-}__line__ originally at _q_$1_dev)-},
- {-pushdef({-_m4_devs-}, {-$1-})dnl
- define({-_q_$1_dev-}, {-:-}__file__{-:-}__line__)-})-})dnl dev_q
- dnl
- define({-disk_q-}, {-ifelse(index(_q_$1_disk, :), 0,
- {-errprint({-duplicated disk id: $1 at -}__file__{-:-}__line__ originally at _q_$1_disk)-}, {-pushdef({-_m4_disks-}, {-$1-})dnl
- pushdef({-_m4_disks2-}, {-$1-})dnl
- define({-_q_$1_disks-}, {-:-}__file__{-:-}__line__)-})-})dnl disk_q
- dnl
- dnl store a version string for 'this' file
- dnl
- dnl vers ( uniqueidstring, versionstring, subdir )
- dnl
- dnl example1: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp $-})
- dnl example2: vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp $-}, etc.MACHINE)
- dnl
- dnl if subdir is defined, prepend it to the filename in the version string
- dnl
- define({-vers-},
- {-ifelse({-$3-}, {--},
- {-ver_q(hstcl({-$1-}), {-translit({-{-$2-}-}, {-$-}, {--})-})-},
- {-ver_q(hstcl({-$1-}), {-_addsubdir({-{-$2-}-}, $3)-})-})-})dnl
- dnl
- dnl Version info for this file:
- dnl
- vers(__file__, {-$OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp $-})dnl
- dnl
- dnl
- define({-_addsubdir-},
- {-patsubst({-$1-}, {-\$(OpenBSD:) ([^\$]*)\$-}, {-\1 $2/\2-})-})dnl
- dnl
- dnl do the 'showing' of the version info
- dnl
- define({-do_vers-}, {-COMM $1-})dnl
- dnl
- dnl show version function, to be called at the place when all versions are
- dnl queued, and it is time to show all of them
- dnl
- define({-show_vers-},
- {-ifelse(_m4_cvs_ver, {-done-}, {--},
- {-do_vers(_m4_cvs_ver)
- popdef({-_m4_cvs_ver-})dnl
- show_vers()dnl
- -})-})dnl
- dnl
- dnl show the routines to generate devices
- define({-show_devs-},
- {-ifelse(_m4_devs, {-done-}, {--},
- {-_MKDEV(_m4_devs){--}dnl
- popdef({-_m4_devs-})dnl
- show_devs()dnl
- -})-})dnl
- dnl
- dnl routines to generate disks
- define({-show_disks-},
- {-ifelse(_m4_disks, {-done-}, {--},
- {-ifcase(_m4_disks, _m4_disks{--}*)dnl
- popdef({-_m4_disks-})dnl
- show_disks()dnl
- -})-})dnl
- dnl
- define({-show_disks2-},
- {-ifelse(_m4_disks2, {-done-}, {--},
- {-CasE(_m4_disks2)dnl
- popdef({-_m4_disks2-})dnl
- show_disks2()dnl
- -})-})dnl
- dnl
- dnl
- dnl Some m4 math functions:
- dnl
- dnl Add(a, b) - displays the result of a+b
- dnl Mult(a, b) - displays the result of a*b
- dnl trunc a b - displays the string a minus b removed from the RHS
- dnl hex a - displays the hex equivalent of 0-15
- dnl unt a - s/[a-z]*([0-9]*).*/\1/ aka sd0a -> 0
- dnl
- dnl Functions:
- dnl
- dnl --> Addition
- dnl
- define({-Add-}, {-$({-(-}$1+$2{-)-})-})dnl
- dnl
- dnl --> Multiplication
- dnl
- define({-Mult-}, {-$({-(-}$1*$2{-)-})-})dnl
- dnl
- dnl
- dnl TRUNC
- dnl
- define({-expr_trunc-}, {-$1trunc()
- $1{
- $1 case {-$-}3 in
- $1 l) {-expr-} {-$-}1 : '\(.*\)'{-$-}2 ;;
- $1 r|*) {-expr-} ${--}1 : ${--}2'\(.*\)' ;;
- $1 esac
- $1}-})dnl
- dnl
- dnl
- define({-_SHELL-}, {-sh-})dnl
- define({-_this-}, {-{-$-}T-})dnl
- dnl define({-_recurse-}, {-_SHELL _this-})dnl
- define({-_recurse-}, {-R-})dnl
- dnl
- dnl _devitem(pattern, description)
- dnl
- define({-_devitem-},
- {-{-#-} $1 {-$2-}-})dnl
- dnl
- dnl _devtitle(description)
- dnl
- define({-_devtitle-}, {-{-#-} $1:-})dnl
- dnl
- dnl _DEV(name, [character major], [block major])
- dnl
- define({-_DEV-}, {-$1_dev{--}dnl
- dnl
- dnl _DEV 'ifelse' .. $2 - major_$1_c
- dnl
- ifelse($2, , , {-define(major_$1_c, $2)-})dnl
- dnl
- dnl _DEV 'ifelse' .. $3 - major_$1_b
- dnl
- ifelse($3, , , {-define(major_$1_b, $3)-})dnl
- dnl
- dnl _DEV 'ifelse' .. $4 - step_$1
- dnl
- ifelse($4, , , {-define(step_$1, {-$4-})-})dnl
- dnl
- dnl Some magic here, defining a devitem also defines another
- dnl string so that later we can check if a particular devitem was
- dnl defined, and thus determine if the devices themselves are to
- dnl be built
- dnl
- define({-$1__DEV-}, {-Y-})dnl
- dnl
- dnl More magic, put device string name into a queue of script segments to
- dnl be shown later if it has been defined as a device in MAKEDEV.mi
- dnl
- ifdef({-$1_mkdev-}, {-__mkdev({-$1-})-})dnl
- dnl
- dnl
- -})dnl _DEV
- dnl
- dnl
- define({-ifdev-}, {-ifelse($1__DEV, Y, {-$2-})-})dnl
- dnl
- define({-_MKDEV-}, {-$1_mkdev-})dnl
- define({-_TITLE-}, {-$1_title-})dnl
- define({-__devitem-}, {-define($1_dev, {-_devitem($2, $3)-})-})dnl
- define({-__devtitle-}, {-define($1_title, {-_devtitle($2)-})-})dnl
- dnl
- dnl Beginning and ending of case entries, just incase we change in the
- dnl future, save chasing things down again
- dnl
- define({-_end-}, {-
- ;;
-
- -})dnl
- define({-_beg-}, {-{-)-}
- -})dnl
- dnl
- dnl create the script segment for making devices
- dnl $1 $2 $3
- dnl _mkdev(shortname, devpatt, action)dnl
- define({-_mkdev-}, {-define($1_mkdev, {-$2{--}_beg{--}$3{--}_end-})-})dnl
- dnl
- dnl define a major character device
- dnl $1 $2 $3 $4
- dnl _mcdev(shortname, devpatt, devbase, devmajor [, group [ owner ] ])dnl
- dnl
- define({-_mcdev-}, {-define($1_mkdev, {-{-$2-}_beg{--}M $3$U c $4 $U{--}dnl
- ifelse($6, , ifelse($5, , , {- -}$5), {- -}ifelse($5, , 600, $5){- -}$6){--}_end-})-})dnl
- dnl
- dnl $1 $2 $3 $4 $5 $6
- dnl _cdev(shortname, devpatt, devmajor, devminor[, devmod, devgrp])dnl
- define({-_cdev-},
- {-dnl
- define($1_mkdev, {-$2{--}_beg{--}M $2 c $3 $4 $5 $6{--}_end-}){--}-})dnl
- dnl
- dnl
- define({-__mkdev-}, {-dev_q($1)-})dnl
- dnl
- dnl for showing disks
- dnl
- define({-CasE-},
- {-ifdev({-$1-},
- {- $1*) dodisk $1 $U major_$1_b major_$1_c $U 0{--}ifstep($1);;
- -})-})dnl
- dnl
- dnl
- define({-ifcase-}, {-dnl
- ifelse(C_ase, Y, ifdev({-$1-}, {-|$2-}),
- {-ifdev({-$1-}, {-$2define({-C_ase-}, Y)-})-})-})dnl
- dnl
- dnl
- dnl device list .. list devices 'iff' they are defined
- dnl
- dnl input:
- dnl
- dnl _dl({-usb-}, {-usb0 usb1-}, {-urio-}, {-urio-}, ...)
- dnl
- dnl output:
- dnl
- dnl {-<tab>_recurse usb0 usb1 urio
- dnl <tab>_recurse uhid0 uhid2 uhid3-}
- dnl
- dnl wrap if more than 60 chars wide
- dnl
- dnl .. wrap it all up in an 'ifelse({-$1-}, , {- ... -})' for neatness ??
- dnl
- define({-_dl-}, {-dnl
- ifdef({-_dt-}, , {-define({-_dt-})-})dnl
- ifdef({-_do-}, , {-_dt{--}_recurse{--}define({-_do-}, 0)dnl
- define({-_dt-}, {- -})-})dnl
- ifdef({-$1__DEV-},
- {-define({-_di-}, {-$2-})-},
- {-define({-_di-})-})dnl
- ifelse(eval(len(_di)+_do<60), 1,
- {-ifelse(eval(len(_di)>0), 1,
- {- _di{--}define({-_do-}, eval(1+_do+len(_di)))-})-},
- {-
- _dt{--}_recurse _di{--}dnl
- define({-_do-}, len(_di))-})dnl
- ifelse({-$3-}, {--},
- {-undefine({-_dt-}, {-_do-})-}, dnl <--- The END
- {-_dl(shift(shift($@)))-})-})dnl
- dnl
- dnl
- define({-_show_target-}, {-dnl
- ifdef({-$1__DEV-}, {-disp_dev({-$2-})-})dnl
- ifelse({-$3-}, {--},
- {-_disp_dev_end()-}, dnl <--- The END
- {-_show_target(shift(shift($@)))-})-})dnl
- dnl
- define({-disp_dev-}, {-dnl
- ifdef({-_disp_dev_tab-}, , {-define({-_disp_dev_tab-})-})dnl
- ifdef({-_disp_dev_len-}, , {-dnl
- define({-_disp_dev_len-}, 0)dnl
- _disp_dev_tab{--}_recurse{--}dnl
- define({-_disp_dev_tab-}, {- -})-})dnl
- ifelse(eval(len($1)+_disp_dev_len<60), 1,
- {- $1{--}define({-_disp_dev_len-}, eval(1+_disp_dev_len+len($1)))-}, {-
- _disp_dev_tab{--}_recurse $1{--}dnl
- define({-_disp_dev_len-}, len($1))-})dnl
- -})dnl
- define({-_disp_dev_end-}, {-undefine({-_disp_dev_tab-}, {-_disp_dev_len-})-})dnl
- dnl
- dnl A word about the above:
- dnl
- dnl _dt -> 'tab' .. at first, defined to nothing, as the tab is already there
- dnl then define it to a tab every time through
- dnl undefine it at the end
- dnl
- dnl _do -> 'old' count .. stores the length of the old string already displayed
- dnl it is initialized to 0, added to the length plus 1 of '_di' each
- dnl iteration the line is less than 60 chars long
- dnl undefined at the end
- dnl _di -> 'iteration' string .. the string used in this iteration, is empty if
- dnl the device does not exist
- dnl
- dnl
- dnl ifstep(devstr)
- dnl .. if stepping is defined for the particular device, emit ' step', else
- dnl nothing
- define({-ifstep-}, {-ifdef({-step_$1-}, {- -}step_$1{--})-})dnl
- dnl
- dnl
- define({-target-}, {-twrget({-$1-}, {-$2-}, {-$2-}, shift(shift($@)))-})dnl
- dnl
- dnl twrget(target, devname, prefix, str1, str2, str3)
- dnl $1 $2 $3 $4 $5 $6
- dnl
- define({-twrget-}, {-dnl
- dnl
- ifdef({-$1_target-}, , {-pushdef({-$1_target-}, {-done-})-})dnl
- dnl
- ifelse({-$4-}, , , {-dnl
- ifelse({-$4-}, {-_done-}, , {-dnl
- ifelse({-$5-}, , , {-dnl
- dnl errprint({-recurse: $1, $2, $3, $4, $5, $6, ...-})dnl
- twrget({-$1-}, {-$2-}, {-$3-}, shift(shift(shift(shift($@)))))dnl
- -})-})-})dnl
- dnl
- ifelse({-$4-}, {-_done-}, , {-dnl
- dnl errprint({-recurse: $1_$2_dev, $3$4, $3$4, _done-})dnl
- twrget({-$1_$2_dev-}, {-$3$4-}, {-$3$4-}, {-_done-})dnl
- -})dnl
- dnl
- ifdef({-$1$2target-}, , {-dnl
- pushdef({-$1_target-}, {-$2-})define({-$1$2target-})dnl
- -})dnl
- dnl
- -})dnl
- dnl
- dnl
- define({-show_target-}, {-dnl
- ifelse($1_target, {-done-}, {-_disp_dev_end()-},
- {-dnl $1_target:
- show_dev($1, -}$1_target{-)dnl
- popdef({-$1_target-})dnl
- show_target({-$1-})dnl
- -})-})dnl
- dnl
- define({-show_dev-}, {-dnl
- ifdef({-$2__DEV-}, {-dnl
- ifelse($1_$2_dev_target, {-done-}, , {-dnl
- disp_dev({-$1_$2_dev_target-})dnl
- popdef({-$1_$2_dev_target-})dnl
- show_dev({-$1-}, {-$2-})-})dnl
- -})dnl
- -})dnl
- dnl
|