Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #!/bin/awk |
2 | # | |
66206536 | 3 | # Awk script to generate include/generated/mach-types.h |
1da177e4 LT |
4 | # |
5 | BEGIN { nr = 0 } | |
6 | /^#/ { next } | |
7 | /^[ ]*$/ { next } | |
8 | ||
9 | NF == 4 { | |
10 | machine_is[nr] = "machine_is_"$1; | |
11 | config[nr] = "CONFIG_"$2; | |
12 | mach_type[nr] = "MACH_TYPE_"$3; | |
13 | num[nr] = $4; nr++ | |
14 | } | |
15 | ||
16 | NF == 3 { | |
17 | machine_is[nr] = "machine_is_"$1; | |
18 | config[nr] = "CONFIG_"$2; | |
19 | mach_type[nr] = "MACH_TYPE_"$3; | |
20 | num[nr] = ""; nr++ | |
21 | } | |
22 | ||
23 | ||
24 | END { | |
25 | printf("/*\n"); | |
26 | printf(" * This was automagically generated from %s!\n", FILENAME); | |
27 | printf(" * Do NOT edit\n"); | |
28 | printf(" */\n\n"); | |
29 | printf("#ifndef __ASM_ARM_MACH_TYPE_H\n"); | |
30 | printf("#define __ASM_ARM_MACH_TYPE_H\n\n"); | |
1da177e4 LT |
31 | printf("#ifndef __ASSEMBLY__\n"); |
32 | printf("/* The type of machine we're running on */\n"); | |
33 | printf("extern unsigned int __machine_arch_type;\n"); | |
34 | printf("#endif\n\n"); | |
35 | ||
36 | printf("/* see arch/arm/kernel/arch.c for a description of these */\n"); | |
37 | for (i = 0; i < nr; i++) | |
38 | if (num[i] ~ /..*/) | |
39 | printf("#define %-30s %d\n", mach_type[i], num[i]); | |
40 | ||
41 | printf("\n"); | |
42 | ||
43 | for (i = 0; i < nr; i++) | |
44 | if (num[i] ~ /..*/) { | |
45 | printf("#ifdef %s\n", config[i]); | |
46 | printf("# ifdef machine_arch_type\n"); | |
47 | printf("# undef machine_arch_type\n"); | |
48 | printf("# define machine_arch_type\t__machine_arch_type\n"); | |
49 | printf("# else\n"); | |
50 | printf("# define machine_arch_type\t%s\n", mach_type[i]); | |
51 | printf("# endif\n"); | |
52 | printf("# define %s()\t(machine_arch_type == %s)\n", machine_is[i], mach_type[i]); | |
53 | printf("#else\n"); | |
54 | printf("# define %s()\t(0)\n", machine_is[i]); | |
55 | printf("#endif\n\n"); | |
56 | } | |
57 | ||
58 | printf("/*\n * These have not yet been registered\n */\n"); | |
59 | for (i = 0; i < nr; i++) | |
60 | if (num[i] !~ /..*/) | |
61 | printf("/* #define %-30s <<not registered>> */\n", mach_type[i]); | |
62 | ||
63 | for (i = 0; i < nr; i++) | |
64 | if (num[i] !~ /..*/) { | |
65 | printf("#define %s()\t(0)\n", machine_is[i]); | |
66 | } | |
67 | ||
68 | printf("\n#ifndef machine_arch_type\n"); | |
69 | printf("#define machine_arch_type\t__machine_arch_type\n"); | |
70 | printf("#endif\n\n"); | |
71 | printf("#endif\n"); | |
72 | } |