1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License, Version 1.0 only
   6 # (the "License").  You may not use this file except in compliance
   7 # with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 # Copyright (c) 1995-1998 by Sun Microsystems, Inc.
  23 # All rights reserved.
  24 #
  25 # ident "%Z%%M% %I%     %E% SMI"
  26 #
  27 # mknames.awk   
  28 #
  29 # XCurses Library
  30 #
  31 # Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved.
  32 #
  33 #  rcsid = $Header: /team/ps/sun_xcurses/archive/local_changes/xcurses/src/lib/libxcurses/src/libc/xcurses/rcs/mknames.awk 1.3 1998/05/29 15:58:51 cbates Exp $
  34 #
  35 
  36 function header(file, array) {
  37 print "/*" > file
  38 print " * Copyright (c) 1998 by Sun Microsystems, Inc." > file
  39 print " * All rights reserved." > file
  40 print " */" > file
  41 print > file
  42 print "#pragma ident    \"@(#)" file "\t%I%\t%E% SMI\"" > file
  43 print > file
  44 print "/*" > file
  45 printf " * %s\n", file > file
  46 print " *" > file
  47 print " * XCurses Library" > file
  48 print " *" > file
  49 print " * **** THIS FILE IS MACHINE GENERATED." > file
  50 print " * **** DO NOT EDIT THIS FILE." > file
  51 print " *" > file
  52 print " * Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved." > file
  53 print " *" > file
  54 print " */" > file
  55 print > file
  56 printf "const char *%s[] = {\n", array > file
  57 }
  58 
  59 function tail(file) {
  60         printf("\t0\n};\n") >file;
  61         close(file);
  62 }
  63 
  64 BEGIN {
  65         header("boolname.c", "boolnames");
  66         header("boolcode.c", "boolcodes");
  67         header("boolfnam.c", "boolfnames");
  68         header("numname.c", "numnames");
  69         header("numcode.c", "numcodes");
  70         header("numfnam.c", "numfnames");
  71         header("strname.c", "strnames");
  72         header("strcode.c", "strcodes");
  73         header("strfnam.c", "strfnames");
  74 }
  75 
  76 $4 == "bool" {
  77         printf "\t\"%s\",\n", $1 > "boolfnam.c"
  78         printf "\t\"%s\",\n", $2 > "boolname.c"
  79         printf "\t\"%s\",\n", $3 > "boolcode.c"
  80 }
  81 
  82 $4 == "number" {
  83         printf "\t\"%s\",\n", $1 > "numfnam.c"
  84         printf "\t\"%s\",\n", $2 > "numname.c"
  85         printf "\t\"%s\",\n", $3 > "numcode.c"
  86 }
  87 
  88 $4 == "str" {
  89         if ($1 ~ /^key_/)
  90         {
  91                 printf "\t\"%s\",\n", toupper($1) > "strfnam.c"
  92         }
  93         else
  94         {
  95                 printf "\t\"%s\",\n", $1 > "strfnam.c"
  96         }
  97         printf "\t\"%s\",\n", $2 > "strname.c"
  98         printf "\t\"%s\",\n", $3 > "strcode.c"
  99 }
 100 
 101 END {
 102         tail("boolname.c");
 103         tail("boolcode.c");
 104         tail("boolfnam.c");
 105         tail("numname.c");
 106         tail("numcode.c");
 107         tail("numfnam.c");
 108         tail("strname.c");
 109         tail("strcode.c");
 110         tail("strfnam.c");
 111 }