Cross Compiling Header Generation Rework [Patch 2/3]

rc LSW rc.lsw.collaborate at gmail.com
Fri Aug 23 16:12:22 UTC 2013


Here is the second patch to change the makefiles.  This is quite a long
patch because of the number of lines that have to be changed.

Thanks,
Clayton Shotwell

diff -urN a/lib/gen_tables.c b/lib/gen_tables.c
--- a/lib/gen_tables.c    2013-07-29 16:37:01.000000000 -0500
+++ b/lib/gen_tables.c    2013-08-19 10:09:03.060041420 -0500
@@ -54,19 +54,6 @@
 #define SHMGET          23
 #define SHMCTL          24

-
-/* The ratio of table size to number of non-empty elements allowed for a
-   "direct" s2i table; if the ratio would be bigger, bsearch tables are
used
-   instead.
-
-   2 looks like a lot at a first glance, but the bsearch tables need twice
as
-   much space per element, so with the ratio equal to 2 the direct table
uses
-   no more memory and is faster. */
-#define DIRECT_THRESHOLD 2
-
-/* Allow more than one string defined for a single integer value */
-static bool allow_duplicate_ints; /* = false; */
-
 struct value {
     int val;
     const char *s;
@@ -83,335 +70,11 @@

 #define NUM_VALUES (sizeof(values) / sizeof(*values))

-/* Compare two "struct value" members by name. */
-static int
-cmp_value_strings(const void *xa, const void *xb)
-{
-    const struct value *a, *b;
-
-    a = xa;
-    b = xb;
-    return strcmp(a->s, b->s);
-}
-
-/* Compare two "struct value" members by value. */
-static int
-cmp_value_vals(const void *xa, const void *xb)
-{
-    const struct value *a, *b;
-
-    a = xa;
-    b = xb;
-    if (a->val > b->val)
-        return 1;
-    if (a->val < b->val)
-        return -1;
-    /* Preserve the original order if there is an ambiguity, to always use
-       the first specified value. */
-    if (a->orig_index > b->orig_index)
-        return 1;
-    if (a->orig_index < b->orig_index)
-        return -1;
-    return 0;
-}
-
-/* Compare two "struct value" members by orig_index. */
-static int
-cmp_value_orig_index(const void *xa, const void *xb)
-{
-    const struct value *a, *b;
-
-    a = xa;
-    b = xb;
-    if (a->orig_index > b->orig_index)
-        return 1;
-    if (a->orig_index < b->orig_index)
-        return -1;
-    return 0;
-}
-
-/* Output the string table, initialize values[*]->s_offset. */
-static void
-output_strings(const char *prefix)
-{
-    size_t i, offset;
-
-    offset = 0;
-    for (i = 0; i < NUM_VALUES; i++) {
-        values[i].s_offset = offset;
-        offset += strlen(values[i].s) + 1;
-    }
-    printf("static const char %s_strings[] = \"", prefix);
-    assert(NUM_VALUES > 0);
-    for (i = 0; i < NUM_VALUES; i++) {
-        const char *c;
-
-        if (i != 0 && i % 10 == 0)
-            fputs("\"\n"
-                  "\t\"", stdout);
-        for (c = values[i].s; *c != '\0'; c++) {
-            assert(*c != '"' && *c != '\\'
-                   && isprint((unsigned char)*c));
-            putc(*c, stdout);
-        }
-        if (i != NUM_VALUES - 1)
-            fputs("\\0", stdout);
-    }
-    fputs("\";\n", stdout);
-}
-
-/* Output the string to integer mapping code.
-   Assume strings are all uppsercase or all lowercase if specified by
-   parameters; in that case, make the search case-insensitive.
-   values must be sorted by strings. */
-static void
-output_s2i(const char *prefix, bool uppercase, bool lowercase)
-{
-    size_t i;
-
-    for (i = 0; i < NUM_VALUES - 1; i++) {
-        assert(strcmp(values[i].s, values[i + 1].s) <= 0);
-        if (strcmp(values[i].s, values[i + 1].s) == 0) {
-            fprintf(stderr, "Duplicate value `%s': %d, %d\n",
-                values[i].s, values[i].val, values[i + 1].val);
-            abort();
-        }
-    }
-    printf("static const unsigned %s_s2i_s[] = {", prefix);
-    for (i = 0; i < NUM_VALUES; i++) {
-        if (i % 10 == 0)
-            fputs("\n\t", stdout);
-        assert(values[i].s_offset <= UINT_MAX);
-        printf("%zu,", values[i].s_offset);
-    }
-    printf("\n"
-           "};\n"
-           "static const int %s_s2i_i[] = {", prefix);
-    for (i = 0; i < NUM_VALUES; i++) {
-        if (i % 10 == 0)
-            fputs("\n\t", stdout);
-        printf("%d,", values[i].val);
-    }
-    fputs("\n"
-          "};\n", stdout);
-    assert(!(uppercase && lowercase));
-    if (uppercase) {
-        for (i = 0; i < NUM_VALUES; i++) {
-            const char *c;
-
-            for (c = values[i].s; *c != '\0'; c++)
-                assert(isascii((unsigned char)*c)
-                       && !GT_ISLOWER(*c));
-        }
-    } else if (lowercase) {
-        for (i = 0; i < NUM_VALUES; i++) {
-            const char *c;
-
-            for (c = values[i].s; *c != '\0'; c++)
-                assert(isascii((unsigned char)*c)
-                       && !GT_ISUPPER(*c));
-        }
-    }
-    if (uppercase || lowercase) {
-        printf("static int %s_s2i(const char *s, int *value) {\n"
-               "\tsize_t len, i;\n"
-               "\tlen = strlen(s);\n"
-               "\t{ char copy[len + 1];\n"
-               "\tfor (i = 0; i < len; i++) {\n"
-               "\t\tchar c = s[i];\n", prefix);
-        if (uppercase)
-            fputs("\t\tcopy[i] = GT_ISLOWER(c) ? c - 'a' + 'A' "
-                              ": c;\n", stdout);
-        else
-            fputs("\t\tcopy[i] = GT_ISUPPER(c) ? c - 'A' + 'a' "
-                              ": c;\n", stdout);
-        printf("\t}\n"
-               "\tcopy[i] = 0;\n"
-               "\treturn s2i__(%s_strings, %s_s2i_s, %s_s2i_i, %zu, "
-                      "copy, value);\n"
-               "\t}\n"
-               "}\n", prefix, prefix, prefix, NUM_VALUES);
-    } else
-        printf("static int %s_s2i(const char *s, int *value) {\n"
-               "\treturn s2i__(%s_strings, %s_s2i_s, %s_s2i_i, %zu, s, "
-                      "value);\n"
-               "}\n", prefix, prefix, prefix, prefix, NUM_VALUES);
-}
-
-/* Output the string to integer mapping table.
-   values must be sorted by strings. */
-static void
-output_i2s(const char *prefix)
-{
-    struct value *unique_values;
-    int min_val, max_val;
-    size_t i, n;
-
-    assert(NUM_VALUES > 0);
-    for (i = 0; i < NUM_VALUES - 1; i++) {
-        assert(values[i].val <= values[i + 1].val);
-        if (!allow_duplicate_ints
-            && values[i].val == values[i + 1].val) {
-            fprintf(stderr, "Duplicate value %d: `%s', `%s'\n",
-                values[i].val, values[i].s, values[i + 1].s);
-            abort();
-        }
-    }
-
-    unique_values = malloc(NUM_VALUES * sizeof(*unique_values));
-    assert(unique_values != NULL);
-    n = 0;
-    for (i = 0; i < NUM_VALUES; i++) {
-        if (n == 0 || unique_values[n - 1].val != values[i].val) {
-            unique_values[n] = values[i];
-            n++;
-        }
-    }
-
-    min_val = unique_values[0].val;
-    max_val = unique_values[n - 1].val;
-    if (((double)max_val - (double)min_val) / n <= DIRECT_THRESHOLD) {
-        int next_index;
-
-        printf("static const unsigned %s_i2s_direct[] = {", prefix);
-        next_index = min_val;
-        i = 0;
-        for (;;) {
-            if ((next_index - min_val) % 10 == 0)
-                fputs("\n\t", stdout);
-            while (unique_values[i].val < next_index)
-                /* This can happen if (allow_duplicate_ints) */
-                i++;
-            if (unique_values[i].val == next_index) {
-                assert(unique_values[i].s_offset <= UINT_MAX);
-                printf("%zu,", unique_values[i].s_offset);
-            } else
-                fputs("-1u,", stdout);
-            if (next_index == max_val)
-                /* Done like this to avoid integer overflow */
-                break;
-            next_index++;
-        }
-        printf("\n"
-               "};\n"
-               "static const char *%s_i2s(int v) {\n"
-               "\treturn i2s_direct__(%s_strings, %s_i2s_direct, %d, "
-                         "%d, v);\n"
-               "}\n", prefix, prefix, prefix, min_val, max_val);
-    } else {
-        printf("static const int %s_i2s_i[] = {", prefix);
-        for (i = 0; i < n; i++) {
-            if (i % 10 == 0)
-                fputs("\n\t", stdout);
-            printf("%d,", unique_values[i].val);
-        }
-        printf("\n"
-               "};\n"
-               "static const unsigned %s_i2s_s[] = {", prefix);
-        for (i = 0; i < n; i++) {
-            if (i % 10 == 0)
-                fputs("\n\t", stdout);
-            assert(unique_values[i].s_offset <= UINT_MAX);
-            printf("%zu,", unique_values[i].s_offset);
-        }
-        printf("\n"
-               "};\n"
-               "static const char *%s_i2s(int v) {\n"
-               "\treturn i2s_bsearch__(%s_strings, %s_i2s_i, %s_i2s_s, "
-                  "%zu, v);\n"
-               "}\n", prefix, prefix, prefix, prefix, n);
-    }
-    free(unique_values);
-}
-
-/* Output the string to integer mapping table as a transtab[].
-   values must be sorted in the desired order. */
-static void
-output_i2s_transtab(const char *prefix)
-{
-    size_t i;
-    char *uc_prefix;
-
-    printf("static const struct transtab %s_table[] = {", prefix);
-    for (i = 0; i < NUM_VALUES; i++) {
-        if (i % 10 == 0)
-            fputs("\n\t", stdout);
-        printf("{%d,%zu},", values[i].val, values[i].s_offset);
-    }
-    uc_prefix = strdup(prefix);
-    assert(uc_prefix != NULL);
-    for (i = 0; uc_prefix[i] != '\0'; i++)
-        uc_prefix[i] = toupper((unsigned char)uc_prefix[i]);
-    printf("\n"
-           "};\n"
-           "#define %s_NUM_ENTRIES "
-           "(sizeof(%s_table) / sizeof(*%s_table))\n", uc_prefix, prefix,
-           prefix);
-    free(uc_prefix);
-}
-
 int
 main(int argc, char **argv)
 {
-    bool gen_i2s, gen_i2s_transtab, gen_s2i, uppercase, lowercase;
-    char *prefix;
-    size_t i;
-
     /* This is required by gen_tables.h */
     assert(NUM_VALUES <= (SSIZE_MAX / 2 + 1));

-    /* To make sure GT_ISUPPER and GT_ISLOWER work. */
-    assert('Z' == 'A' + 25 && 'z' == 'a' + 25);
-    gen_i2s = false;
-    gen_i2s_transtab = false;
-    gen_s2i = false;
-    uppercase = false;
-    lowercase = false;
-    prefix = NULL;
-    assert (argc > 1);
-    for (i = 1; i < (size_t)argc; i++) {
-        if (strcmp(argv[i], "--i2s") == 0)
-            gen_i2s = true;
-        else if (strcmp(argv[i], "--i2s-transtab") == 0)
-            gen_i2s_transtab = true;
-        else if (strcmp(argv[i], "--s2i") == 0)
-            gen_s2i = true;
-        else if (strcmp(argv[i], "--uppercase") == 0)
-            uppercase = true;
-        else if (strcmp(argv[i], "--lowercase") == 0)
-            lowercase = true;
-        else if (strcmp(argv[i], "--duplicate-ints") == 0)
-            allow_duplicate_ints = true;
-        else {
-            assert(*argv[i] != '-');
-            assert(prefix == NULL);
-            prefix = argv[i];
-        }
-    }
-    assert(prefix != NULL);
-    assert(!(uppercase && lowercase));
-
-    printf("/* This is a generated file, see Makefile.am for its "
-           "inputs. */\n");
-    for (i = 0; i < NUM_VALUES; i++)
-        values[i].orig_index = i;
-    qsort(values, NUM_VALUES, sizeof(*values), cmp_value_strings);
-    /* FIXME? if (gen_s2i), sort the strings in some other order
-       (e.g. "first 4 nodes in BFS of the bsearch tree first") to use the
-       cache better. */
-    /* FIXME? If the only thing generated is a transtab, keep the strings
-       in the original order to use the cache better. */
-    output_strings(prefix);
-    if (gen_s2i)
-        output_s2i(prefix, uppercase, lowercase);
-    if (gen_i2s) {
-        qsort(values, NUM_VALUES, sizeof(*values), cmp_value_vals);
-        output_i2s(prefix);
-    }
-    if (gen_i2s_transtab) {
-        qsort(values, NUM_VALUES, sizeof(*values),
-              cmp_value_orig_index);
-        output_i2s_transtab(prefix);
-    }
     return EXIT_SUCCESS;
 }
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
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
+armebtabs.h: gen_armeb_tables_h Makefile
+    $(PYTHON) gen_tables.py --lowercase --i2s --s2i armeb
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 $@
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/linux-audit/attachments/20130823/af8763d8/attachment.htm>


More information about the Linux-audit mailing list