Annotation of sys/dev/hil/devlist2h.awk, Revision 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