]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #!/bin/awk |
2 | # | |
3 | # Awk script to generate include/asm-arm/mach-types.h | |
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"); | |
31 | printf("#include <linux/config.h>\n\n"); | |
32 | printf("#ifndef __ASSEMBLY__\n"); | |
33 | printf("/* The type of machine we're running on */\n"); | |
34 | printf("extern unsigned int __machine_arch_type;\n"); | |
35 | printf("#endif\n\n"); | |
36 | ||
37 | printf("/* see arch/arm/kernel/arch.c for a description of these */\n"); | |
38 | for (i = 0; i < nr; i++) | |
39 | if (num[i] ~ /..*/) | |
40 | printf("#define %-30s %d\n", mach_type[i], num[i]); | |
41 | ||
42 | printf("\n"); | |
43 | ||
44 | for (i = 0; i < nr; i++) | |
45 | if (num[i] ~ /..*/) { | |
46 | printf("#ifdef %s\n", config[i]); | |
47 | printf("# ifdef machine_arch_type\n"); | |
48 | printf("# undef machine_arch_type\n"); | |
49 | printf("# define machine_arch_type\t__machine_arch_type\n"); | |
50 | printf("# else\n"); | |
51 | printf("# define machine_arch_type\t%s\n", mach_type[i]); | |
52 | printf("# endif\n"); | |
53 | printf("# define %s()\t(machine_arch_type == %s)\n", machine_is[i], mach_type[i]); | |
54 | printf("#else\n"); | |
55 | printf("# define %s()\t(0)\n", machine_is[i]); | |
56 | printf("#endif\n\n"); | |
57 | } | |
58 | ||
59 | printf("/*\n * These have not yet been registered\n */\n"); | |
60 | for (i = 0; i < nr; i++) | |
61 | if (num[i] !~ /..*/) | |
62 | printf("/* #define %-30s <<not registered>> */\n", mach_type[i]); | |
63 | ||
64 | for (i = 0; i < nr; i++) | |
65 | if (num[i] !~ /..*/) { | |
66 | printf("#define %s()\t(0)\n", machine_is[i]); | |
67 | } | |
68 | ||
69 | printf("\n#ifndef machine_arch_type\n"); | |
70 | printf("#define machine_arch_type\t__machine_arch_type\n"); | |
71 | printf("#endif\n\n"); | |
72 | printf("#endif\n"); | |
73 | } |