| #!/bin/awk | |
| # | |
| # Awk script to generate include/asm-sh/machtypes.h | |
| # Heavily based on arch/arm/tools/gen-mach-types | |
| # | |
| BEGIN { nr = 0 } | |
| /^#/ { next } | |
| /^[ ]*$/ { next } | |
| NF == 2 { | |
| mach[nr] = $1; | |
| config[nr] = "CONFIG_"$2; | |
| nr++; | |
| } | |
| END { | |
| printf("/*\n"); | |
| printf(" * Automagically generated, don't touch.\n"); | |
| printf(" */\n"); | |
| printf("#ifndef __ASM_SH_MACHTYPES_H\n"); | |
| printf("#define __ASM_SH_MACHTYPES_H\n"); | |
| printf("\n"); | |
| printf("#include <linux/config.h>\n"); | |
| printf("\n"); | |
| printf("/*\n"); | |
| printf(" * We'll use the following MACH_xxx defs for placeholders for the time\n"); | |
| printf(" * being .. these will all go away once sh_machtype is assigned per-board.\n"); | |
| printf(" *\n"); | |
| printf(" * For now we leave things the way they are for backwards compatibility.\n"); | |
| printf(" */\n"); | |
| printf("\n"); | |
| printf("/* Mach types */\n"); | |
| for (i = 0; i < nr; i++) { | |
| printf("#ifdef %s\n", config[i]); | |
| printf(" #define MACH_%s\t\t1\n", mach[i]); | |
| printf("#else\n"); | |
| printf(" #define MACH_%s\t\t0\n", mach[i]); | |
| printf("#endif\n"); | |
| } | |
| printf("\n"); | |
| printf("/* Machtype checks */\n"); | |
| for (i = 0; i < nr; i++) | |
| printf("#define mach_is_%s()\t\t\t(MACH_%s)\n", | |
| tolower(mach[i]), mach[i]); | |
| printf("\n"); | |
| printf("#endif /* __ASM_SH_MACHTYPES_H */\n"); | |
| } |