c48e1ed01385aa6754075e30ab9f64ac2e5be7ac
[bpt/guile.git] / meta / Makefile.am
1 ## Process this file with Automake to create Makefile.in
2 ## Jim Blandy <jimb@red-bean.com> --- September 1997
3 ##
4 ## Copyright (C) 1998, 1999, 2001, 2006, 2007, 2008, 2009, 2011,
5 ## 2012, 2013, 2014, 2015 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
24 bin_SCRIPTS = guile-config guild
25 EXTRA_DIST= \
26 guile.m4 ChangeLog-2008 \
27 guile-$(GUILE_EFFECTIVE_VERSION).pc.in \
28 guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc.in \
29 guild.in guile-config.in
30
31 # What we now call `guild' used to be known as `guile-tools'.
32 install-exec-hook:
33 guild="`echo $(ECHO_N) guild \
34 | $(SED) -e '$(program_transform_name)'`" ; \
35 guile_tools="`echo $(ECHO_N) guile-tools \
36 | $(SED) -e '$(program_transform_name)'`" ; \
37 cd $(DESTDIR)$(bindir) && rm -f "$$guile_tools" && \
38 $(LN_S) "$$guild" "$$guile_tools"
39
40 pkgconfigdir = $(libdir)/pkgconfig
41 pkgconfig_DATA = guile-$(GUILE_EFFECTIVE_VERSION).pc
42
43 ## FIXME: in the future there will be direct automake support for
44 ## doing this. When that happens, switch over.
45 aclocaldir = $(datadir)/aclocal
46 aclocal_DATA = guile.m4
47
48 # Script to instantiate substitution variables found on the standard
49 # input. We do this from the Makefile because we need things like
50 # $(program_transform_name), which are not usable from 'configure.ac'.
51 substitute = \
52 guile="`echo guile | $(SED) -e '$(program_transform_name)'`" ; \
53 guild="`echo guild | $(SED) -e '$(program_transform_name)'`" ; \
54 installed_guile="@bindir@/$$guile" ; \
55 $(SED) -e "s,[@]PACKAGE_NAME[@],$(PACKAGE_NAME),g" \
56 -e "s,[@]PACKAGE_BUGREPORT[@],$(PACKAGE_BUGREPORT),g" \
57 -e "s,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g" \
58 -e "s,[@]GUILE_VERSION[@],$(GUILE_VERSION),g" \
59 -e "s,[@]GUILE_CFLAGS[@],$(GUILE_CFLAGS),g" \
60 -e "s,[@]GUILE_LIBS[@],$(GUILE_LIBS),g" \
61 -e "s,[@]LIBGUILE_INTERFACE[@],$(LIBGUILE_INTERFACE),g" \
62 $(dependency_substitutions) \
63 -e "s,[@]PKG_CONFIG[@],$(PKG_CONFIG),g" \
64 -e "s,[@]pkgconfigdir[@],$(pkgconfigdir),g" \
65 -e "s,[@]prefix[@],$(prefix),g" \
66 -e "s,[@]exec_prefix[@],$(exec_prefix),g" \
67 -e "s,[@]bindir[@],$(bindir),g" \
68 -e "s,[@]libdir[@],$(libdir),g" \
69 -e "s,[@]includedir[@],$(includedir),g" \
70 -e "s,[@]datarootdir[@],$(datarootdir),g" \
71 -e "s,[@]datadir[@],$(datadir),g" \
72 -e "s,[@]sitedir[@],$(sitedir),g" \
73 -e "s,[@]guile[@],$$guile,g" \
74 -e "s,[@]guild[@],$$guild,g" \
75 -e "s,[@]installed_guile[@],$$installed_guile,g"
76
77 # Substitutions for dependencies that appear in 'guile-2.0.pc'.
78 # Some of these may include things like "-Wl,-rpath", which is why we do
79 # not use a comma to separate the 's' arguments.
80 dependency_substitutions = \
81 -e "s|[@]BDW_GC_CFLAGS[@]|$(BDW_GC_CFLAGS)|g" \
82 -e "s|[@]BDW_GC_LIBS[@]|$(BDW_GC_LIBS)|g" \
83 -e "s|[@]LIB_CLOCK_GETTIME[@]|$(LIB_CLOCK_GETTIME)|g" \
84 -e "s|[@]LIBGMP[@]|$(LIBGMP)|g" \
85 -e "s|[@]LIBLTDL[@]|$(LIBLTDL)|g" \
86 -e "s|[@]LIBFFI_LIBS[@]|$(LIBFFI_LIBS)|g" \
87 -e "s|[@]LIBUNISTRING[@]|$(LIBUNISTRING)|g" \
88 -e "s|[@]LIBICONV[@]|$(LIBICONV)|g" \
89 -e "s|[@]LIBINTL[@]|$(LIBINTL)|g" \
90 -e "s|[@]LIBSOCKET[@]|$(LIBSOCKET)|g" \
91 -e "s|[@]SERVENT_LIB[@]|$(SERVENT_LIB)|g" \
92 -e "s|[@]HOSTENT_LIB[@]|$(HOSTENT_LIB)|g" \
93 -e "s|[@]GETADDRINFO_LIB[@]|$(GETADDRINFO_LIB)|g" \
94 -e "s|[@]INET_NTOP_LIB[@]|$(INET_NTOP_LIB)|g" \
95 -e "s|[@]INET_PTON_LIB[@]|$(INET_PTON_LIB)|g"
96
97 guile-$(GUILE_EFFECTIVE_VERSION).pc: guile-$(GUILE_EFFECTIVE_VERSION).pc.in
98 $(substitute) < "$<" > "$@.out"
99 mv "$@.out" "$@"
100
101 guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc: guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc.in
102 $(substitute) < "$<" > "$@.out"
103 mv "$@.out" "$@"
104
105 guile-config: $(srcdir)/guile-config.in $(top_builddir)/config.status
106 $(substitute) < "$<" > "$@.out"
107 chmod +x "$@.out"
108 mv "$@.out" "$@"
109
110 guild: $(srcdir)/guild.in $(top_builddir)/config.status
111 $(substitute) < "$<" > "$@.out"
112 chmod +x "$@.out"
113 mv "$@.out" "$@"
114
115 CLEANFILES = \
116 guile-config guild \
117 guile-$(GUILE_EFFECTIVE_VERSION).pc guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc