Steve,

This patch modifies the Make system to use the gen_tables.py file instead of executing the different gen_tables executables.  I added checks into the configure script to make sure the Pyparsing library is available.  Please note that the gen_tables.c file is still being compiled but an executable is not generated.  Instead, all of the preprocessor output is being dumped to a file to be parsed.  This output is then passed to the gen_tables.py script for analysis.  

Thanks,
Clayton

Clayton Shotwell
Software Engineer
clshotwe@rockwellcollins.com
www.rockwellcollins.com

diff -urN a/configure.ac b/configure.ac
--- a/configure.ac        2013-07-29 16:37:01.000000000 -0500
+++ b/configure.ac        2013-08-21 13:29:55.760585744 -0500
@@ -51,11 +51,14 @@
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_AWK
+AM_PATH_PYTHON
+AC_PYTHON_MODULE(pyparsing, 1)
 
 echo .
 echo Checking for header files
 AC_HEADER_STDC
 AC_HEADER_TIME
+AC_CHECK_HEADER([Python.h])
 
 AC_C_CONST
 AC_C_INLINE
@@ -89,14 +92,13 @@
         AC_MSG_RESULT(no)
 else
 AC_MSG_RESULT(testing)
-AM_PATH_PYTHON
-if test -f /usr/include/python${am_cv_python_version}/Python.h ; then
+if test x$ac_cv_header_Python_h != x ; then
         python_found="yes"
         AC_MSG_NOTICE(Python bindings will be built)
 else
         python_found="no"
         if test x$use_python = xyes ; then
-                AC_MSG_ERROR([Python explicitly required and python headers found])
+                AC_MSG_ERROR([Python explicitly required and python headers not found])
         else
                 AC_MSG_WARN("Python headers not found - python bindings will not be made")
         fi
diff -urN a/bindings/python/Makefile.am b/bindings/python/Makefile.am
--- a/bindings/python/Makefile.am        2013-07-29 16:37:00.000000000 -0500
+++ b/bindings/python/Makefile.am        2013-09-11 08:18:41.437704969 -0500
@@ -26,6 +26,6 @@
 pyexec_LTLIBRARIES = auparse.la
 
 auparse_la_SOURCES = auparse_python.c
-auparse_la_CPPFLAGS = -I$(top_srcdir)/auparse $(AM_CPPFLAGS) -I/usr/include/python$(PYTHON_VERSION) -fno-strict-aliasing
+auparse_la_CPPFLAGS = -I$(top_srcdir)/auparse $(AM_CPPFLAGS) -fno-strict-aliasing
 auparse_la_LDFLAGS = -module -avoid-version -Wl,-z,relro
 auparse_la_LIBADD = ../../auparse/libauparse.la ../../lib/libaudit.la
diff -urN /dev/null b/m4/ax_python_module.m4
--- /dev/null        2013-06-19 11:25:31.230442052 -0500
+++ b/m4/ax_python_module.m4        2013-08-21 12:43:56.829882655 -0500
@@ -0,0 +1,49 @@
+# ===========================================================================
+#     http://www.gnu.org/software/autoconf-archive/ax_python_module.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PYTHON_MODULE(modname[, fatal])
+#
+# DESCRIPTION
+#
+#   Checks for Python module.
+#
+#   If fatal is non-empty then absence of a module will trigger an error.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Andrew Collier
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 6
+
+AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
+AC_DEFUN([AX_PYTHON_MODULE],[
+    if test -z $PYTHON;
+    then
+        PYTHON="python"
+    fi
+    PYTHON_NAME=`basename $PYTHON`
+    AC_MSG_CHECKING($PYTHON_NAME module: $1)
+        $PYTHON -c "import $1" 2>/dev/null
+        if test $? -eq 0;
+        then
+                AC_MSG_RESULT(yes)
+                eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
+        else
+                AC_MSG_RESULT(no)
+                eval AS_TR_CPP(HAVE_PYMOD_$1)=no
+                #
+                if test -n "$2"
+                then
+                        AC_MSG_ERROR(failed to find required module $1)
+                        exit 1
+                fi
+        fi
+])
diff -urN a/auparse/Makefile.am b/auparse/Makefile.am
--- a/auparse/Makefile.am        2013-07-29 16:37:01.000000000 -0500
+++ b/auparse/Makefile.am        2013-08-19 14:37:31.230510790 -0500
@@ -52,8 +52,8 @@
         rlimittabs.h recvtabs.h schedtabs.h seccomptabs.h \
         seektabs.h shm_modetabs.h signaltabs.h sockoptnametabs.h \
         socktabs.h sockleveltabs.h socktypetabs.h \
-        tcpoptnametabs.h typetabs.h umounttabs.h
-noinst_PROGRAMS = gen_accesstabs_h gen_captabs_h gen_clock_h \
+        tcpoptnametabs.h typetabs.h umounttabs.h \
+        gen_accesstabs_h gen_captabs_h gen_clock_h \
         gen_clone-flagtabs_h \
         gen_epoll_ctls_h gen_famtabs_h \
         gen_fcntl-cmdtabs_h gen_flagtabs_h \
@@ -69,187 +69,184 @@
         gen_socktypetabs_h gen_tcpoptnametabs_h gen_typetabs_h \
         gen_umounttabs_h
 
-gen_accesstabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h accesstab.h
-gen_accesstabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="accesstab.h"'
+gen_accesstabs_h: ../lib/gen_tables.c ../lib/gen_tables.h accesstab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"accesstab.h\" -E -o $@ ../lib/gen_tables.c
 accesstabs.h: gen_accesstabs_h Makefile
-        ./gen_accesstabs_h --i2s-transtab access > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab access gen_accesstabs_h $@
 
-gen_captabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h captab.h
-gen_captabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="captab.h"'
+gen_captabs_h: ../lib/gen_tables.c ../lib/gen_tables.h captab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"captab.h\" -E -o $@ ../lib/gen_tables.c
 captabs.h: gen_captabs_h Makefile
-        ./gen_captabs_h --i2s cap > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s cap gen_captabs_h $@
 
-gen_clock_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h clocktab.h
-gen_clock_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="clocktab.h"'
+gen_clock_h: ../lib/gen_tables.c ../lib/gen_tables.h clocktab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"clocktab.h\" -E -o $@ ../lib/gen_tables.c
 clocktabs.h: gen_clock_h Makefile
-        ./gen_clock_h --i2s clock > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s clock gen_clock_h $@
 
-gen_clone_flagtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h \
-        clone-flagtab.h
-gen_clone_flagtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="clone-flagtab.h"'
+gen_clone-flagtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h clone-flagtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"clone-flagtab.h\" -E -o $@ ../lib/gen_tables.c
 clone-flagtabs.h: gen_clone-flagtabs_h Makefile
-        ./gen_clone-flagtabs_h --i2s-transtab clone_flag > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab clone_flag gen_clone-flagtabs_h $@
 
-gen_epoll_ctls_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h epoll_ctl.h
-gen_epoll_ctls_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="epoll_ctl.h"'
+gen_epoll_ctls_h: ../lib/gen_tables.c ../lib/gen_tables.h epoll_ctl.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"epoll_ctl.h\" -E -o $@ ../lib/gen_tables.c
 epoll_ctls.h: gen_epoll_ctls_h Makefile
-        ./gen_epoll_ctls_h --i2s epoll_ctl > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s epoll_ctl gen_epoll_ctls_h $@
 
-gen_famtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h famtab.h
-gen_famtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="famtab.h"'
+gen_famtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h famtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"famtab.h\" -E -o $@ ../lib/gen_tables.c
 famtabs.h: gen_famtabs_h Makefile
-        ./gen_famtabs_h --i2s fam > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s fam gen_famtabs_h $@
 
-gen_flagtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h flagtab.h
 # ../auparse/ is used to avoid using ../lib/flagtab.h
-gen_flagtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="../auparse/flagtab.h"'
+gen_flagtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ../auparse/flagtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"../auparse/flagtab.h\" -E -o $@ ../lib/gen_tables.c
 flagtabs.h: gen_flagtabs_h Makefile
-        ./gen_flagtabs_h --i2s-transtab flag > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab flag gen_flagtabs_h $@
 
-gen_fcntl_cmdtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h \
-        fcntl-cmdtab.h
-gen_fcntl_cmdtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="fcntl-cmdtab.h"'
+gen_fcntl-cmdtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h fcntl-cmdtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"fcntl-cmdtab.h\" -E -o $@ ../lib/gen_tables.c
 fcntl-cmdtabs.h: gen_fcntl-cmdtabs_h Makefile
-        ./gen_fcntl-cmdtabs_h --i2s fcntl > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s fcntl gen_fcntl-cmdtabs_h $@
 
-gen_icmptypetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h icmptypetab.h
-gen_icmptypetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="icmptypetab.h"'
+gen_icmptypetabs_h: ../lib/gen_tables.c ../lib/gen_tables.h icmptypetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"icmptypetab.h\" -E -o $@ ../lib/gen_tables.c
 icmptypetabs.h: gen_icmptypetabs_h Makefile
-        ./gen_icmptypetabs_h --i2s icmptype > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s icmptype gen_icmptypetabs_h $@
 
-gen_ipctabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h ipctab.h
-gen_ipctabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ipctab.h"'
+gen_ipctabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ipctab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ipctab.h\" -E -o $@ ../lib/gen_tables.c
 ipctabs.h: gen_ipctabs_h Makefile
-        ./gen_ipctabs_h --i2s ipc > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s ipc gen_ipctabs_h $@
 
-gen_ipccmdtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h ipccmdtab.h
-gen_ipccmdtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ipccmdtab.h"'
+gen_ipccmdtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ipccmdtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ipccmdtab.h\" -E -o $@ ../lib/gen_tables.c
 ipccmdtabs.h: gen_ipccmdtabs_h Makefile
-        ./gen_ipccmdtabs_h --i2s-transtab ipccmd > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab ipccmd gen_ipccmdtabs_h $@
 
-gen_ipoptnametabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h ipoptnametab.h
-gen_ipoptnametabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ipoptnametab.h"'
+gen_ipoptnametabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ipoptnametab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ipoptnametab.h\" -E -o $@ ../lib/gen_tables.c
 ipoptnametabs.h: gen_ipoptnametabs_h Makefile
-        ./gen_ipoptnametabs_h --i2s ipoptname > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s ipoptname gen_ipoptnametabs_h $@
 
-gen_ip6optnametabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h ip6optnametab.h
-gen_ip6optnametabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ip6optnametab.h"'
+gen_ip6optnametabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ip6optnametab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ip6optnametab.h\" -E -o $@ ../lib/gen_tables.c
 ip6optnametabs.h: gen_ip6optnametabs_h Makefile
-        ./gen_ip6optnametabs_h --i2s ip6optname > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s ip6optname gen_ip6optnametabs_h $@
 
-gen_mmaptabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h mmaptab.h
-gen_mmaptabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="mmaptab.h"'
+gen_mmaptabs_h: ../lib/gen_tables.c ../lib/gen_tables.h mmaptab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"mmaptab.h\" -E -o $@ ../lib/gen_tables.c
 mmaptabs.h: gen_mmaptabs_h Makefile
-        ./gen_mmaptabs_h --i2s-transtab mmap > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab mmap gen_mmaptabs_h $@
 
-gen_mounttabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h mounttab.h
-gen_mounttabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="mounttab.h"'
+gen_mounttabs_h: ../lib/gen_tables.c ../lib/gen_tables.h mounttab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"mounttab.h\" -E -o $@ ../lib/gen_tables.c
 mounttabs.h: gen_mounttabs_h Makefile
-        ./gen_mounttabs_h --i2s-transtab mount > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab mount gen_mounttabs_h $@
 
-gen_nfprototabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h nfprototab.h
-gen_nfprototabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="nfprototab.h"'
+gen_nfprototabs_h: ../lib/gen_tables.c ../lib/gen_tables.h nfprototab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"nfprototab.h\" -E -o $@ ../lib/gen_tables.c
 nfprototabs.h: gen_nfprototabs_h Makefile
-        ./gen_nfprototabs_h --i2s nfproto > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s nfproto gen_nfprototabs_h $@
 
-gen_open_flagtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h \
-        open-flagtab.h
-gen_open_flagtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="open-flagtab.h"'
+gen_open-flagtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h open-flagtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"open-flagtab.h\" -E -o $@ ../lib/gen_tables.c
 open-flagtabs.h: gen_open-flagtabs_h Makefile
-        ./gen_open-flagtabs_h --i2s-transtab open_flag > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab open_flag gen_open-flagtabs_h $@
 
-gen_persontabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h persontab.h
-gen_persontabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="persontab.h"'
+gen_persontabs_h: ../lib/gen_tables.c ../lib/gen_tables.h persontab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"persontab.h\" -E -o $@ ../lib/gen_tables.c
 persontabs.h: gen_persontabs_h Makefile
-        ./gen_persontabs_h --i2s person > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s person gen_persontabs_h $@
 
-gen_ptracetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h ptracetab.h
-gen_ptracetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ptracetab.h"'
+gen_ptracetabs_h: ../lib/gen_tables.c ../lib/gen_tables.h ptracetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ptracetab.h\" -E -o $@ ../lib/gen_tables.c
 ptracetabs.h: gen_ptracetabs_h Makefile
-        ./gen_ptracetabs_h --i2s ptrace > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s ptrace gen_ptracetabs_h $@
 
-gen_prctl_opttabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h prctl-opt-tab.h
-gen_prctl_opttabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="prctl-opt-tab.h"'
+gen_prctl_opttabs_h: ../lib/gen_tables.c ../lib/gen_tables.h prctl-opt-tab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"prctl-opt-tab.h\" -E -o $@ ../lib/gen_tables.c
 prctl_opttabs.h: gen_prctl_opttabs_h Makefile
-        ./gen_prctl_opttabs_h --i2s prctl_opt > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s prctl_opt gen_prctl_opttabs_h $@
 
-gen_pktoptnametabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h pktoptnametab.h
-gen_pktoptnametabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="pktoptnametab.h"'
+gen_pktoptnametabs_h: ../lib/gen_tables.c ../lib/gen_tables.h pktoptnametab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"pktoptnametab.h\" -E -o $@ ../lib/gen_tables.c
 pktoptnametabs.h: gen_pktoptnametabs_h Makefile
-        ./gen_pktoptnametabs_h --i2s pktoptname > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s pktoptname gen_pktoptnametabs_h $@
 
-gen_prottabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h prottab.h
-gen_prottabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="prottab.h"'
+gen_prottabs_h: ../lib/gen_tables.c ../lib/gen_tables.h prottab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"prottab.h\" -E -o $@ ../lib/gen_tables.c
 prottabs.h: gen_prottabs_h Makefile
-        ./gen_prottabs_h --i2s-transtab prot > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab prot gen_prottabs_h $@
 
-gen_recvtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h recvtab.h
-gen_recvtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="recvtab.h"'
+gen_recvtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h recvtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"recvtab.h\" -E -o $@ ../lib/gen_tables.c
 recvtabs.h: gen_recvtabs_h Makefile
-        ./gen_recvtabs_h --i2s-transtab recv > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab recv gen_recvtabs_h $@
 
-gen_rlimit_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h rlimittab.h
-gen_rlimit_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="rlimittab.h"'
+gen_rlimit_h: ../lib/gen_tables.c ../lib/gen_tables.h rlimittab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"rlimittab.h\" -E -o $@ ../lib/gen_tables.c
 rlimittabs.h: gen_rlimit_h Makefile
-        ./gen_rlimit_h --i2s rlimit > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s rlimit gen_rlimit_h $@
 
-gen_schedtabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h schedtab.h
-gen_schedtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="schedtab.h"'
+gen_schedtabs_h: ../lib/gen_tables.c ../lib/gen_tables.h schedtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"schedtab.h\" -E -o $@ ../lib/gen_tables.c
 schedtabs.h: gen_schedtabs_h Makefile
-        ./gen_schedtabs_h --i2s sched > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s sched gen_schedtabs_h $@
 
-gen_seccomptabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h seccomptab.h
-gen_seccomptabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="seccomptab.h"'
+gen_seccomptabs_h: ../lib/gen_tables.c ../lib/gen_tables.h seccomptab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"seccomptab.h\" -E -o $@ ../lib/gen_tables.c
 seccomptabs.h: gen_seccomptabs_h Makefile
-        ./gen_seccomptabs_h --i2s seccomp > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s seccomp gen_seccomptabs_h $@
 
-gen_seektabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h seektab.h
-gen_seektabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="seektab.h"'
+gen_seektabs_h: ../lib/gen_tables.c ../lib/gen_tables.h seektab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"seektab.h\" -E -o $@ ../lib/gen_tables.c
 seektabs.h: gen_seektabs_h Makefile
-        ./gen_seektabs_h --i2s seek > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s seek gen_seektabs_h $@
 
-gen_shm_modetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h shm_modetab.h
-gen_shm_modetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="shm_modetab.h"'
+gen_shm_modetabs_h: ../lib/gen_tables.c ../lib/gen_tables.h shm_modetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"shm_modetab.h\" -E -o $@ ../lib/gen_tables.c
 shm_modetabs.h: gen_shm_modetabs_h Makefile
-        ./gen_shm_modetabs_h --i2s-transtab shm_mode > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab shm_mode gen_shm_modetabs_h $@
 
-gen_signals_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h signaltab.h
-gen_signals_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="signaltab.h"'
+gen_signals_h: ../lib/gen_tables.c ../lib/gen_tables.h signaltab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"signaltab.h\" -E -o $@ ../lib/gen_tables.c
 signaltabs.h: gen_signals_h Makefile
-        ./gen_signals_h --i2s signal > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s signal gen_signals_h $@
 
-gen_sockleveltabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h sockleveltab.h
-gen_sockleveltabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="sockleveltab.h"'
+gen_sockleveltabs_h: ../lib/gen_tables.c ../lib/gen_tables.h sockleveltab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"sockleveltab.h\" -E -o $@ ../lib/gen_tables.c
 sockleveltabs.h: gen_sockleveltabs_h Makefile
-        ./gen_sockleveltabs_h --i2s socklevel > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s socklevel gen_sockleveltabs_h $@
 
-gen_sockoptnametabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h sockoptnametab.h
-gen_sockoptnametabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="sockoptnametab.h"'
+gen_sockoptnametabs_h: ../lib/gen_tables.c ../lib/gen_tables.h sockoptnametab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"sockoptnametab.h\" -E -o $@ ../lib/gen_tables.c
 sockoptnametabs.h: gen_sockoptnametabs_h Makefile
-        ./gen_sockoptnametabs_h --i2s sockoptname > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s sockoptname gen_sockoptnametabs_h $@
 
-gen_socktabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h socktab.h
-gen_socktabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="socktab.h"'
+gen_socktabs_h: ../lib/gen_tables.c ../lib/gen_tables.h socktab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"socktab.h\" -E -o $@ ../lib/gen_tables.c
 socktabs.h: gen_socktabs_h Makefile
-        ./gen_socktabs_h --i2s sock > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s sock gen_socktabs_h $@
 
-gen_socktypetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h socktypetab.h
-gen_socktypetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="socktypetab.h"'
+gen_socktypetabs_h: ../lib/gen_tables.c ../lib/gen_tables.h socktypetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"socktypetab.h\" -E -o $@ ../lib/gen_tables.c
 socktypetabs.h: gen_socktypetabs_h Makefile
-        ./gen_socktypetabs_h --i2s sock_type > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s sock_type gen_socktypetabs_h $@
 
-gen_tcpoptnametabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h tcpoptnametab.h
-gen_tcpoptnametabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="tcpoptnametab.h"'
+gen_tcpoptnametabs_h: ../lib/gen_tables.c ../lib/gen_tables.h tcpoptnametab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"tcpoptnametab.h\" -E -o $@ ../lib/gen_tables.c
 tcpoptnametabs.h: gen_tcpoptnametabs_h Makefile
-        ./gen_tcpoptnametabs_h --i2s tcpoptname > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s tcpoptname gen_tcpoptnametabs_h $@
 
-gen_typetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h typetab.h
-gen_typetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="typetab.h"'
+gen_typetabs_h: ../lib/gen_tables.c ../lib/gen_tables.h typetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"typetab.h\" -E -o $@ ../lib/gen_tables.c
 typetabs.h: gen_typetabs_h Makefile
-        ./gen_typetabs_h --s2i type > $@
+        $(PYTHON) ../lib/gen_tables.py --s2i type gen_typetabs_h $@
 
-gen_umounttabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h umounttab.h
-gen_umounttabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="umounttab.h"'
+gen_umounttabs_h: ../lib/gen_tables.c ../lib/gen_tables.h umounttab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"umounttab.h\" -E -o $@ ../lib/gen_tables.c
 umounttabs.h: gen_umounttabs_h Makefile
-        ./gen_umounttabs_h --i2s-transtab umount > $@
+        $(PYTHON) ../lib/gen_tables.py --i2s-transtab umount gen_umounttabs_h $@
 diff -urN a/lib/Makefile.am b/lib/Makefile.am
--- a/lib/Makefile.am        2013-07-29 16:37:01.000000000 -0500
+++ b/lib/Makefile.am        2013-08-19 14:39:58.280509378 -0500
@@ -40,119 +40,109 @@
 BUILT_SOURCES = actiontabs.h errtabs.h fieldtabs.h flagtabs.h \
         ftypetabs.h i386_tables.h ia64_tables.h machinetabs.h \
         msg_typetabs.h optabs.h ppc_tables.h s390_tables.h \
-        s390x_tables.h x86_64_tables.h
-if USE_ALPHA
-BUILT_SOURCES += alpha_tables.h
-endif
-if USE_ARMEB
-BUILT_SOURCES += armeb_tables.h
-endif
-if USE_AARCH64
-BUILT_SOURCES += aarch64_tables.h
-endif
-noinst_PROGRAMS = gen_actiontabs_h gen_errtabs_h gen_fieldtabs_h \
+        s390x_tables.h x86_64_tables.h \
+        gen_actiontabs_h gen_errtabs_h gen_fieldtabs_h \
         gen_flagtabs_h gen_ftypetabs_h gen_i386_tables_h \
         gen_ia64_tables_h gen_machinetabs_h gen_msg_typetabs_h \
         gen_optabs_h gen_ppc_tables_h gen_s390_tables_h \
-        gen_s390x_tables_h gen_x86_64_tables_h
+        gen_s390x_tables_h gen_x86_64_tables_h
 if USE_ALPHA
-noinst_PROGRAMS += gen_alpha_tables_h
+BUILT_SOURCES += alpha_tables.h gen_alpha_tables_h
 endif
 if USE_ARMEB
-noinst_PROGRAMS += gen_armeb_tables_h
+BUILT_SOURCES += armeb_tables.h gen_armeb_tables_h
 endif
 if USE_AARCH64
-noinst_PROGRAMS += gen_aarch64_tables_h
+BUILT_SOURCES += aarch64_tables.h gen_aarch64_tables_h
 endif
-gen_actiontabs_h_SOURCES = gen_tables.c gen_tables.h actiontab.h
-gen_actiontabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="actiontab.h"'
+
+gen_actiontabs_h: gen_tables.c gen_tables.h actiontab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"actiontab.h\" -E -o $@ gen_tables.c
 actiontabs.h: gen_actiontabs_h Makefile
-        ./gen_actiontabs_h --lowercase --i2s --s2i action > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i action gen_actiontabs_h $@
 
 if USE_ALPHA
-gen_alpha_tables_h_SOURCES = gen_tables.c gen_tables.h alpha_table.h
-gen_alpha_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="alpha_table.h"'
+gen_alpha_tables_h: gen_tables.c gen_tables.h alpha_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"alpha_table.h\" -E -o $@ gen_tables.c
 alpha_tables.h: gen_alpha_tables_h Makefile
-        ./gen_alpha_tables_h --lowercase --i2s --s2i alpha_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i alpha_syscall gen_alpha_tables_h $@
 endif
 
 if USE_ARMEB
-gen_armeb_tables_h_SOURCES = gen_tables.c gen_tables.h armeb_table.h
-gen_armeb_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="armeb_table.h"'
-armeb_tables.h: gen_armeb_tables_h Makefile
-        ./gen_armeb_tables_h --lowercase --i2s --s2i armeb_syscall > $@
+gen_armeb_tables_h: gen_tables.c gen_tables.h armeb_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"armeb_table.h\" -E -o $@ gen_tables.c
+armeb_tables.h: gen_armeb_tables_h Makefile
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i armeb_syscall gen_armeb_tables_h $@
 endif
 
 if USE_AARCH64
-gen_aarch64_tables_h_SOURCES = gen_tables.c gen_tables.h aarch64_table.h
-gen_aarch64_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="aarch64_table.h"'
+gen_aarch64_tables_h: gen_tables.c gen_tables.h aarch64_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"aarch64_table.h\" -E -o $@ gen_tables.c
 aarch64_tables.h: gen_aarch64_tables_h Makefile
-        ./gen_aarch64_tables_h --lowercase --i2s --s2i aarch64_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i aarch64_syscall gen_aarch64_tables_h $@
 endif
 
-gen_errtabs_h_SOURCES = gen_tables.c gen_tables.h errtab.h
-gen_errtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="errtab.h"'
+gen_errtabs_h: gen_tables.c gen_tables.h errtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"errtab.h\" -E -o $@ gen_tables.c
 errtabs.h: gen_errtabs_h Makefile
-        ./gen_errtabs_h --duplicate-ints --uppercase --i2s --s2i err > $@
+        $(PYTHON) gen_tables.py --duplicate-ints --uppercase --i2s --s2i err gen_errtabs_h $@
 
-gen_fieldtabs_h_SOURCES = gen_tables.c gen_tables.h fieldtab.h
-gen_fieldtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="fieldtab.h"'
+gen_fieldtabs_h: gen_tables.c gen_tables.h fieldtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"fieldtab.h\" -E -o $@ gen_tables.c
 fieldtabs.h: gen_fieldtabs_h Makefile
-        ./gen_fieldtabs_h --duplicate-ints --lowercase --i2s --s2i field > $@
+        $(PYTHON) gen_tables.py --duplicate-ints --lowercase --i2s --s2i field gen_fieldtabs_h $@
 
-gen_flagtabs_h_SOURCES = gen_tables.c gen_tables.h flagtab.h
-gen_flagtabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="flagtab.h"'
+gen_flagtabs_h: gen_tables.c gen_tables.h flagtab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"flagtab.h\" -E -o $@ gen_tables.c
 flagtabs.h: gen_flagtabs_h Makefile
-        ./gen_flagtabs_h --lowercase --i2s --s2i flag > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i flag gen_flagtabs_h $@
 
-gen_ftypetabs_h_SOURCES = gen_tables.c gen_tables.h ftypetab.h
-gen_ftypetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ftypetab.h"'
+gen_ftypetabs_h: gen_tables.c gen_tables.h ftypetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ftypetab.h\" -E -o $@ gen_tables.c
 ftypetabs.h: gen_ftypetabs_h Makefile
-        ./gen_ftypetabs_h --lowercase --i2s --s2i ftype > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i ftype gen_ftypetabs_h $@
 
-gen_i386_tables_h_SOURCES = gen_tables.c gen_tables.h i386_table.h
-gen_i386_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="i386_table.h"'
+gen_i386_tables_h: gen_tables.c gen_tables.h i386_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"i386_table.h\" -E -o $@ gen_tables.c
 i386_tables.h: gen_i386_tables_h Makefile
-        ./gen_i386_tables_h --duplicate-ints --lowercase --i2s --s2i \
-                i386_syscall > $@
+        $(PYTHON) gen_tables.py --duplicate-ints --lowercase --i2s --s2i i386_syscall gen_i386_tables_h $@
 
-gen_ia64_tables_h_SOURCES = gen_tables.c gen_tables.h ia64_table.h
-gen_ia64_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ia64_table.h"'
+gen_ia64_tables_h: gen_tables.c gen_tables.h ia64_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ia64_table.h\" -E -o $@ gen_tables.c
 ia64_tables.h: gen_ia64_tables_h Makefile
-        ./gen_ia64_tables_h --lowercase --i2s --s2i ia64_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i ia64_syscall gen_ia64_tables_h $@
 
-gen_machinetabs_h_SOURCES = gen_tables.c gen_tables.h machinetab.h
-gen_machinetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="machinetab.h"'
+gen_machinetabs_h: gen_tables.c gen_tables.h machinetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"machinetab.h\" -E -o $@ gen_tables.c
 machinetabs.h: gen_machinetabs_h Makefile
-        ./gen_machinetabs_h --duplicate-ints --lowercase --i2s --s2i machine \
-                > $@
+        $(PYTHON) gen_tables.py --duplicate-ints --lowercase --i2s --s2i machine gen_machinetabs_h $@
 
-gen_msg_typetabs_h_SOURCES = gen_tables.c gen_tables.h msg_typetab.h
-gen_msg_typetabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="msg_typetab.h"'
+gen_msg_typetabs_h: gen_tables.c gen_tables.h msg_typetab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"msg_typetab.h\" -E -o $@ gen_tables.c
 msg_typetabs.h: gen_msg_typetabs_h Makefile
-        ./gen_msg_typetabs_h --uppercase --i2s --s2i msg_type > $@
+        $(PYTHON) gen_tables.py --uppercase --i2s --s2i msg_type gen_msg_typetabs_h $@
 
-gen_optabs_h_SOURCES = gen_tables.c gen_tables.h optab.h
-gen_optabs_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="optab.h"'
+gen_optabs_h: gen_tables.c gen_tables.h optab.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"optab.h\" -E -o $@ gen_tables.c
 optabs.h: gen_optabs_h Makefile
-        ./gen_optabs_h --i2s op > $@
+        $(PYTHON) gen_tables.py --i2s op gen_optabs_h $@
 
-gen_ppc_tables_h_SOURCES = gen_tables.c gen_tables.h ppc_table.h
-gen_ppc_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="ppc_table.h"'
+gen_ppc_tables_h: gen_tables.c gen_tables.h ppc_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"ppc_table.h\" -E -o $@ gen_tables.c
 ppc_tables.h: gen_ppc_tables_h Makefile
-        ./gen_ppc_tables_h --lowercase --i2s --s2i ppc_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i ppc_syscall gen_ppc_tables_h $@
 
-gen_s390_tables_h_SOURCES = gen_tables.c gen_tables.h s390_table.h
-gen_s390_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="s390_table.h"'
+gen_s390_tables_h: gen_tables.c gen_tables.h s390_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"s390_table.h\" -E -o $@ gen_tables.c
 s390_tables.h: gen_s390_tables_h Makefile
-        ./gen_s390_tables_h --lowercase --i2s --s2i s390_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i s390_syscall gen_s390_tables_h $@
 
-gen_s390x_tables_h_SOURCES = gen_tables.c gen_tables.h s390x_table.h
-gen_s390x_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="s390x_table.h"'
+gen_s390x_tables_h: gen_tables.c gen_tables.h s390x_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"s390x_table.h\" -E -o $@ gen_tables.c
 s390x_tables.h: gen_s390x_tables_h Makefile
-        ./gen_s390x_tables_h --lowercase --i2s --s2i s390x_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i s390x_syscall gen_s390x_tables_h $@
 
-gen_x86_64_tables_h_SOURCES = gen_tables.c gen_tables.h x86_64_table.h
-gen_x86_64_tables_h_CFLAGS = $(AM_CFLAGS) '-DTABLE_H="x86_64_table.h"'
+gen_x86_64_tables_h: gen_tables.c gen_tables.h x86_64_table.h
+        $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -DTABLE_H=\"x86_64_table.h\" -E -o $@ gen_tables.c
 x86_64_tables.h: gen_x86_64_tables_h Makefile
-        ./gen_x86_64_tables_h --lowercase --i2s --s2i x86_64_syscall > $@
+        $(PYTHON) gen_tables.py --lowercase --i2s --s2i x86_64_syscall gen_x86_64_tables_h $@