~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sh/tools/gen-mach-types

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/awk
  2 # SPDX-License-Identifier: GPL-2.0
  3 #
  4 # Awk script to generate include/generated/machtypes.h
  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");
 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         }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php