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