#!/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 \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"); }