doc-parsing-buglets-tabs.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #! /bin/sh
  2. # Copyright (C) 2011-2017 Free Software Foundation, Inc.
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. # Check the documented limitation of the Automake's Makefile parser w.r.t.
  17. # use of TAB characters; see Section "General Operation" in the Automake
  18. # manual, and automake bug#8360.
  19. # If you cause some parts of this test to fail, chances are that you've
  20. # improved the Automake parser ;-)
  21. . test-init.sh
  22. cat > Makefile.am <<END
  23. .PHONY: test
  24. test: all check
  25. fail:
  26. ${tab}@echo "'\$@ recipe executed'"; exit 1
  27. ## This won't be recognized as a target+recipe by Automake.
  28. all-local${tab}:
  29. ${tab}@exit 1
  30. ## This won't be recognized as a target+rdependency by Automake.
  31. all-local${tab}: fail
  32. just_to_separate: dummy deps
  33. ## This won't be recognized as a variable assignment by Automake.
  34. ${tab}bin_PROGRAMS = foo
  35. END
  36. echo AC_OUTPUT >> configure.ac
  37. $ACLOCAL
  38. $AUTOMAKE
  39. $FGREP '$(EXEEEXT)' Makefile.in && exit 1
  40. grep 'all:.*all-local' Makefile.in && exit 1
  41. grep "^${tab}bin_PROGRAMS = foo" Makefile.in
  42. $AUTOCONF
  43. ./configure
  44. $MAKE test
  45. :