# # 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