Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#
# Copyright (c) 1980 Regents of the University of California.
# All rights reserved.  The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
#
#       @(#)makeoptions 6.4 (Berkeley) 5/31/85
#

#
# remake options -- this isn't necessary unless you add/delete options
#
onintr ifintr
cat < ex_data.c > /tmp/$$.c
ex - /tmp/$$.c <<'%'
        g/^#include/d
        w
        q
'%'
cc -E $* /tmp/$$.c >/tmp/foo.c
ex - /tmp/foo.c <<'X'
        " delete all preprocessor output (# line, etc)
        g/^# /d
        set sh=/bin/csh
        " delete junk (all but data lines)
        g/^[    ]*$/d
        1,/option options/d
        /}/-1,$d
        " get rid of all of line but option name
        1,$s/[  ]*"//
        1,$s/".*//
        " begin kludge since options start at 0 but cat -n starts at 1
        "              move first to end and later move it back and renumber
        1m$
        %!cat -n
        $t0
        1s/[0-9][0-9]*/0/
        " end kludge
        " make #define lines
        1,$s/[  ]*\([0-9][0-9]*\)[      ]*\(.*\)/#define        \U\2\L  \1/
        " filter through expand to make it line up nice
        %!expand -8\,24
        " blank line and number of options.
        $i

.
        $s/e[   ].*[    ]/e     NOPTS   /
        0a
        /*  sccs id   @(#)  ex_vars.h  @(#)makeoptions  6.4 5/31/85  */
.
        w! ex_vars.h
        q
'X'
ifintr:
rm /tmp/foo.c