[BACK]Return to devlist2h.awk CVS log [TXT][DIR] Up to [local] / sys / dev / hil

Annotation of sys/dev/hil/devlist2h.awk, Revision 1.1.1.1

1.1       nbrk        1: #! /usr/bin/awk -f
                      2: #      $OpenBSD: devlist2h.awk,v 1.4 2006/08/10 23:44:16 miod Exp $
                      3: #
                      4: # Copyright (c) 2003, Miodrag Vallat.
                      5: # All rights reserved.
                      6: #
                      7: # Redistribution and use in source and binary forms, with or without
                      8: # modification, are permitted provided that the following conditions
                      9: # are met:
                     10: # 1. Redistributions of source code must retain the above copyright
                     11: #    notice, this list of conditions and the following disclaimer.
                     12: # 2. Redistributions in binary form must reproduce the above copyright
                     13: #    notice, this list of conditions and the following disclaimer in the
                     14: #    documentation and/or other materials provided with the distribution.
                     15: #
                     16: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     17: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     18: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     19: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     20: # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     21: # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     22: # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     23: # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     24: # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     25: # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     26: #
                     27: BEGIN {
                     28:        header = 0
                     29: }
                     30: NR == 1 {
                     31:        VERSION = $0
                     32:        gsub("\\$", "", VERSION)
                     33:
                     34:        printf("/*\t\$OpenBSD\$\t*/\n\n")
                     35:        printf("/*\n")
                     36:        printf(" * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.\n")
                     37:        printf(" *\n")
                     38:        printf(" * generated from:\n")
                     39:        printf(" *\t%s\n", VERSION)
                     40:        printf(" */\n")
                     41:
                     42:        next
                     43: }
                     44: $1 == "keyboard" || $1 == "mouse" || $1 == "idmodule" || $1 == "buttonbox" {
                     45:
                     46:        if (header == 0) {
                     47:                printf("const struct hildevice hildevs[] = {\n")
                     48:                header = 1
                     49:        }
                     50:
                     51:        printf("\t{ 0x%s, 0x%s, HIL_DEVICE_%s, \"",
                     52:            $2, $3, toupper($1))
                     53:
                     54:        # description, with optional ``#''-prefixed comments
                     55:        comment = 0
                     56:        i = 4
                     57:        f = i
                     58:        while (f <= NF) {
                     59:                if ($f == "#") {
                     60:                        comment = 1
                     61:                        printf ("\" },\t/*")
                     62:                } else {
                     63:                        if (f > i)
                     64:                                printf(" ")
                     65:                        printf("%s", $f)
                     66:                }
                     67:                f++
                     68:        }
                     69:        if (comment)
                     70:                printf(" */\n");
                     71:        else
                     72:                printf("\" },\n")
                     73:
                     74:        next
                     75: }
                     76: {
                     77:        if ($0 == "")
                     78:                blanklines++
                     79:        if (blanklines < 2)
                     80:                print $0
                     81: }
                     82: END {
                     83:        printf("\t{ -1, -1, -1, NULL }\n")
                     84:        printf("};\n")
                     85: }

CVSweb