targmatch.sed 526 B

123456789101112131415161718192021222324252627282930313233
  1. 1,/START OF targmatch.h/ d
  2. /END OF targmatch.h/,$ d
  3. /^[ ]*case/,/^[ ]*esac/ d
  4. s/^#if/KEEP #if/
  5. s/^#endif/KEEP #endif/
  6. s/^[ ]*#.*$//
  7. s/^KEEP #/#/
  8. s/[ ]*\\$//
  9. t lab1
  10. :lab1
  11. s/[| ][| ]*\([^|() ][^|() ]*\)[ ]*|/{ "\1", NULL },/g
  12. s/[| ][| ]*\([^|() ][^|() ]*\)[ ]*)/{ "\1",/g
  13. t lab2
  14. s/^[ ]*targ_defvec=\([^ ]*\)/#if !defined (SELECT_VECS) || defined (HAVE_\1)/
  15. t lab3
  16. s/.*=.*//
  17. s/;;//
  18. b
  19. :lab2
  20. H
  21. d
  22. :lab3
  23. G
  24. s/\n/%EOL%/g
  25. s/\(defined (HAVE_\)\([^)]*\)\(.*\)/\1\2\3\
  26. \&\2 },\
  27. #endif/
  28. s/%EOL%/\
  29. /g
  30. p
  31. s/.*//g
  32. s/\n//g
  33. h