#!/bin/sh ( echo '#define VAR(name,decl) name' echo '#define EV_GENWRAP 1' cat ev_vars.h ) | cc -E -o - - | perl -ne ' while (<>) { push @syms, $1 if /(^\w+)/; } print "/* DO NOT EDIT, automatically generated by update_ev_wrap */\n", "#ifndef EV_WRAP_H\n", "#define EV_WRAP_H\n", (map "#define $_ ((loop)->$_)\n", sort @syms), "#else\n", "#undef EV_WRAP_H\n", (map "#undef $_\n", @syms), "#endif\n"; ' >ev_wrap.h