Linux 6.13-rc4
[linux.git] / arch / sh / tools / gen-mach-types
blob6d7c2d8eaf5504b30075231de4780f54c8b451f2
1 #!/bin/awk
2 # SPDX-License-Identifier: GPL-2.0
4 # Awk script to generate include/generated/machtypes.h
5 # Heavily based on arch/arm/tools/gen-mach-types
7 BEGIN { nr = 0 }
8 /^#/ { next }
9 /^[ ]*$/ { next }
11 NF == 2 {
12 mach[nr] = $1;
13 config[nr] = "CONFIG_"$2;
14 nr++;
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");
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");
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");
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");