Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #!/bin/awk |
2 | # | |
3252b11f | 3 | # Awk script to generate include/generated/machtypes.h |
1da177e4 LT |
4 | # Heavily based on arch/arm/tools/gen-mach-types |
5 | # | |
6 | BEGIN { nr = 0 } | |
7 | /^#/ { next } | |
8 | /^[ ]*$/ { next } | |
9 | ||
10 | NF == 2 { | |
11 | mach[nr] = $1; | |
12 | config[nr] = "CONFIG_"$2; | |
13 | nr++; | |
14 | } | |
15 | ||
16 | END { | |
17 | printf("/*\n"); | |
18 | printf(" * Automagically generated, don't touch.\n"); | |
19 | printf(" */\n"); | |
20 | printf("#ifndef __ASM_SH_MACHTYPES_H\n"); | |
21 | printf("#define __ASM_SH_MACHTYPES_H\n"); | |
22 | printf("\n"); | |
1da177e4 LT |
23 | printf("/*\n"); |
24 | printf(" * We'll use the following MACH_xxx defs for placeholders for the time\n"); | |
25 | printf(" * being .. these will all go away once sh_machtype is assigned per-board.\n"); | |
26 | printf(" *\n"); | |
27 | printf(" * For now we leave things the way they are for backwards compatibility.\n"); | |
28 | printf(" */\n"); | |
29 | printf("\n"); | |
30 | printf("/* Mach types */\n"); | |
31 | ||
32 | for (i = 0; i < nr; i++) { | |
33 | printf("#ifdef %s\n", config[i]); | |
34 | printf(" #define MACH_%s\t\t1\n", mach[i]); | |
35 | printf("#else\n"); | |
36 | printf(" #define MACH_%s\t\t0\n", mach[i]); | |
37 | printf("#endif\n"); | |
38 | } | |
39 | ||
40 | printf("\n"); | |
41 | printf("/* Machtype checks */\n"); | |
42 | for (i = 0; i < nr; i++) | |
43 | printf("#define mach_is_%s()\t\t\t(MACH_%s)\n", | |
44 | tolower(mach[i]), mach[i]); | |
45 | printf("\n"); | |
46 | printf("#endif /* __ASM_SH_MACHTYPES_H */\n"); | |
47 | } |