#!/usr/bin/awk -f BEGIN { while ((getline i < "proto.h") > 0) old_protos = old_protos ? old_protos "\n" i : i close("proto.h") protos = "/* This file is automatically generated with \"make proto\". DO NOT EDIT */\n" } inheader { protos = protos "\n" ((inheader = /\)[ \t]*$/ ? 0 : 1) ? $0 : $0 ";") next } /^FN_(LOCAL|GLOBAL)_[^(]+\([^,()]+/ { local = /^FN_LOCAL/ gsub(/^FN_(LOC|GLOB)AL_|,.*$/, "") sub(/^BOOL\(/, "BOOL ") sub(/^CHAR\(/, "char ") sub(/^INTEGER\(/, "int ") sub(/^STRING\(/, "char *") protos = protos "\n" $0 (local ? "(int module_id);" : "(void);") next } /^static|^extern|;/||!/^[A-Za-z][A-Za-z0-9_]* / { next } /\(.*\)[ \t]*$/ { protos = protos "\n" $0 ";" next } /\(/ { inheader = 1 protos = protos "\n" $0 } END { if (old_protos != protos) print protos > "proto.h" system("touch proto.h-tstamp") }