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