Makefile.am 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. ## Process this file with automake to produce Makefile.in.
  2. ##
  3. ## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006, 2007,
  4. ## 2008, 2009, 2010, 2011, 2012, 2013,
  5. ## 2014, 2015, 2016, 2022, 2023 Free Software Foundation, Inc.
  6. ##
  7. ## This file is part of GUILE.
  8. ##
  9. ## GUILE is free software; you can redistribute it and/or modify it
  10. ## under the terms of the GNU Lesser General Public License as
  11. ## published by the Free Software Foundation; either version 3, or
  12. ## (at your option) any later version.
  13. ##
  14. ## GUILE is distributed in the hope that it will be useful, but
  15. ## WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. ## GNU Lesser General Public License for more details.
  18. ##
  19. ## You should have received a copy of the GNU Lesser General Public
  20. ## License along with GUILE; see the file COPYING.LESSER. If not,
  21. ## write to the Free Software Foundation, Inc., 51 Franklin Street,
  22. ## Fifth Floor, Boston, MA 02110-1301 USA
  23. # want automake 1.10 or higher so that AM_GNU_GETTEXT can tell automake that
  24. # config.rpath is needed
  25. #
  26. AUTOMAKE_OPTIONS = 1.10
  27. SUBDIRS = \
  28. lib \
  29. meta \
  30. libguile \
  31. module \
  32. stage0 \
  33. stage1 \
  34. stage2 \
  35. guile-readline \
  36. examples \
  37. emacs \
  38. test-suite \
  39. benchmark-suite \
  40. gc-benchmarks \
  41. am \
  42. doc
  43. DIST_SUBDIRS = $(SUBDIRS) prebuilt
  44. libguileincludedir = $(pkgincludedir)/$(GUILE_EFFECTIVE_VERSION)
  45. libguileinclude_HEADERS = libguile.h
  46. schemelibdir = $(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)
  47. schemelib_DATA = libguile/guile-procedures.txt
  48. # Our own implementation of Gnulib's lock interface.
  49. noinst_HEADERS = lib/glthread/lock.h
  50. # Our lib/glthreads/lock.h header indirectly includes
  51. # libguile/scmconfig.h. Make sure it is built before we recurse into
  52. # lib/.
  53. BUILT_SOURCES = libguile/scmconfig.h
  54. libguile/scmconfig.h:
  55. $(MAKE) -C libguile scmconfig.h
  56. # Build it from here so that all the modules are compiled by the time we
  57. # build it.
  58. libguile/guile-procedures.txt: libguile/guile-procedures.texi
  59. $(AM_V_GEN) \
  60. $(top_builddir)/meta/guile --no-auto-compile \
  61. "$(srcdir)/libguile/texi-fragments-to-docstrings" \
  62. "$(builddir)/libguile/guile-procedures.texi" \
  63. > $@.tmp
  64. @mv $@.tmp $@
  65. EXTRA_DIST = LICENSE HACKING GUILE-VERSION \
  66. m4/ChangeLog-2008 \
  67. m4/gnulib-cache.m4 \
  68. ChangeLog-2008 \
  69. .version \
  70. gnulib-local/lib/localcharset.h.diff \
  71. gnulib-local/lib/localcharset.c.diff \
  72. gnulib-local/m4/clock_time.m4.diff \
  73. gnulib-local/build-aux/git-version-gen.diff \
  74. libguile/texi-fragments-to-docstrings \
  75. gdbinit \
  76. guix.scm \
  77. build-aux/guix/guile-package.scm \
  78. build-aux/manifest.scm
  79. TESTS = check-guile
  80. TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
  81. ACLOCAL_AMFLAGS = -I m4
  82. CLEANFILES = libguile/guile-procedures.txt
  83. DISTCLEANFILES = check-guile.log
  84. DISTCHECK_CONFIGURE_FLAGS = --enable-error-on-warning --enable-mini-gmp
  85. dist-hook: gen-ChangeLog gen-tarball-version \
  86. assert-no-store-file-names ensure-guile-readline
  87. # 'guile-readline/Makefile.am' conditionally includes various files to
  88. # the distribution. Bail out when 'HAVE_READLINE' is false.
  89. if HAVE_READLINE
  90. ensure-guile-readline:
  91. @true
  92. else !HAVE_READLINE
  93. ensure-guile-readline:
  94. @echo "error: Readline support is required for 'make dist'." >&2
  95. @exit 1
  96. endif !HAVE_READLINE
  97. .PHONY: ensure-guile-readline
  98. clean-local:
  99. rm -rf cache/
  100. CONFIG_STATUS_DEPENDENCIES = GUILE-VERSION
  101. gen_start_rev = 61db429e251bfd2f75cb4632972e0238056eb24b
  102. .PHONY: gen-ChangeLog
  103. gen-ChangeLog:
  104. if test -d .git; then \
  105. $(top_srcdir)/build-aux/gitlog-to-changelog \
  106. $(gen_start_rev)..HEAD > $(distdir)/cl-t; \
  107. rm -f $(distdir)/ChangeLog; \
  108. mv $(distdir)/cl-t $(distdir)/ChangeLog; \
  109. fi
  110. # Make sure we're not shipping a file that embeds a /gnu/store file
  111. # name, for maintainers who use Guix.
  112. .PHONY: assert-no-store-file-names
  113. assert-no-store-file-names:
  114. if grep --exclude=ChangeLog -rE "/gnu/store/[a-z0-9]{32}-" $(distdir) ; \
  115. then \
  116. echo "error: store file names embedded in the distribution" >&2 ; \
  117. exit 1 ; \
  118. fi
  119. BUILT_SOURCES += $(top_srcdir)/.version
  120. $(top_srcdir)/.version:
  121. echo $(VERSION) > $@-t && mv $@-t $@
  122. gen-tarball-version:
  123. echo $(VERSION) > $(distdir)/.tarball-version
  124. # Makefile.am ends here