|
dnl $OpenBSD: MAKEDEV.mansub,v 1.2 2004/02/20 19:13:01 miod Exp $
|
|
dnl
|
|
dnl Copyright (c) 2004, Miodrag Vallat
|
|
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 This file is an m4 file, really. It's a clone of MAKEDEV.sub, then
|
|
dnl adapted to mdoc output. This means, mostly removed from any non-trivial
|
|
dnl content...
|
|
dnl
|
|
dnl o First, a change of quote to make shell statements like: `command`
|
|
dnl possible
|
|
dnl
|
|
changequote(`{-', `-}')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.mansub,v 1.2 2004/02/20 19:13:01 miod Exp $-})
|
|
dnl example2: vers(__file__, {-$OpenBSD: MAKEDEV.mansub,v 1.2 2004/02/20 19:13:01 miod 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.mansub,v 1.2 2004/02/20 19:13:01 miod 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 _devxr(name,optional different xr name)
|
|
dnl
|
|
define({-_devxr-},{-.Xr $1 ifelse(index($1,{- -}),-1,{-4 -})-})dnl
|
|
dnl
|
|
dnl _devitem(pattern, description)
|
|
dnl
|
|
define({-_devitem-},{-.It Ar $2
|
|
$3{--}ifelse($4,nothing,,{-, see
|
|
_devxr({-ifelse($4,,$1,$4)-})-})dnl
|
|
.-})dnl
|
|
dnl
|
|
dnl _devtitle(name,description)
|
|
dnl
|
|
define({-_devtitle-},{-ifelse($1,make,,{-.El
|
|
-}).Pp
|
|
.Sy $2
|
|
.Bl -tag -width tenletters -compact-})dnl
|
|
dnl
|
|
dnl _DEV(name, [character major], [block major])
|
|
dnl
|
|
define({-_DEV-}, {-$1_dev{--}dnl
|
|
define({-$1__DEV-}, {-Y-})-})dnl
|
|
dnl
|
|
define({-_MKDEV-}, {-$1_mkdev-})dnl
|
|
define({-_TITLE-}, {-$1_title-})dnl
|
|
dnl
|
|
define({-__devitem-}, {-define($1_dev, {-_devitem($1,$2,$3,$4)-})-})dnl
|
|
dnl
|
|
define({-__devtitle-}, {-define($1_title, {-_devtitle($1,$2)-})-})dnl
|
|
define({-_mkdev-})dnl
|
|
define({-_mcdev-})dnl
|
|
define({-_cdev-})dnl
|
|
define({-__mkdev-})dnl
|
|
define({-target-})dnl
|
|
define({-twrget-})dnl
|