build: Use pipe symbol instead of comma for substitutions.
[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-2009, 2011-2015
5 ## 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 #
52 # Some of these may include things like "-Wl,-rpath", which is why we do
53 # not use a comma to separate the 's' arguments.
54 substitute = \
55 guile="`echo guile | $(SED) -e '$(program_transform_name)'`" ; \
56 guild="`echo guild | $(SED) -e '$(program_transform_name)'`" ; \
57 installed_guile="@bindir@/$$guile" ; \
58 $(SED) -e "s|[@]PACKAGE_NAME[@]|$(PACKAGE_NAME)|g" \
59 -e "s|[@]PACKAGE_BUGREPORT[@]|$(PACKAGE_BUGREPORT)|g" \
60 -e "s|[@]GUILE_EFFECTIVE_VERSION[@]|$(GUILE_EFFECTIVE_VERSION)|g" \
61 -e "s|[@]GUILE_VERSION[@]|$(GUILE_VERSION)|g" \
62 -e "s|[@]GUILE_CFLAGS[@]|$(GUILE_CFLAGS)|g" \
63 -e "s|[@]GUILE_LIBS[@]|$(GUILE_LIBS)|g" \
64 -e "s|[@]LIBGUILE_INTERFACE[@]|$(LIBGUILE_INTERFACE)|g" \
65 $(dependency_substitutions) \
66 -e "s|[@]PKG_CONFIG[@]|$(PKG_CONFIG)|g" \
67 -e "s|[@]pkgconfigdir[@]|$(pkgconfigdir)|g" \
68 -e "s|[@]prefix[@]|$(prefix)|g" \
69 -e "s|[@]exec_prefix[@]|$(exec_prefix)|g" \
70 -e "s|[@]bindir[@]|$(bindir)|g" \
71 -e "s|[@]libdir[@]|$(libdir)|g" \
72 -e "s|[@]includedir[@]|$(includedir)|g" \
73 -e "s|[@]datarootdir[@]|$(datarootdir)|g" \
74 -e "s|[@]datadir[@]|$(datadir)|g" \
75 -e "s|[@]sitedir[@]|$(sitedir)|g" \
76 -e "s|[@]guile[@]|$$guile|g" \
77 -e "s|[@]guild[@]|$$guild|g" \
78 -e "s|[@]installed_guile[@]|$$installed_guile|g"
79
80 # Substitutions for dependencies that appear in 'guile-2.0.pc'.
81 dependency_substitutions = \
82 -e "s|[@]BDW_GC_CFLAGS[@]|$(BDW_GC_CFLAGS)|g" \
83 -e "s|[@]BDW_GC_LIBS[@]|$(BDW_GC_LIBS)|g" \
84 -e "s|[@]LIB_CLOCK_GETTIME[@]|$(LIB_CLOCK_GETTIME)|g" \
85 -e "s|[@]LIBGMP[@]|$(LIBGMP)|g" \
86 -e "s|[@]LIBLTDL[@]|$(LIBLTDL)|g" \
87 -e "s|[@]LIBFFI_LIBS[@]|$(LIBFFI_LIBS)|g" \
88 -e "s|[@]LIBUNISTRING[@]|$(LIBUNISTRING)|g" \
89 -e "s|[@]LIBICONV[@]|$(LIBICONV)|g" \
90 -e "s|[@]LIBINTL[@]|$(LIBINTL)|g" \
91 -e "s|[@]LIBSOCKET[@]|$(LIBSOCKET)|g" \
92 -e "s|[@]SERVENT_LIB[@]|$(SERVENT_LIB)|g" \
93 -e "s|[@]HOSTENT_LIB[@]|$(HOSTENT_LIB)|g" \
94 -e "s|[@]GETADDRINFO_LIB[@]|$(GETADDRINFO_LIB)|g" \
95 -e "s|[@]INET_NTOP_LIB[@]|$(INET_NTOP_LIB)|g" \
96 -e "s|[@]INET_PTON_LIB[@]|$(INET_PTON_LIB)|g"
97
98 guile-$(GUILE_EFFECTIVE_VERSION).pc: guile-$(GUILE_EFFECTIVE_VERSION).pc.in
99 $(substitute) < "$<" > "$@.out"
100 mv "$@.out" "$@"
101
102 guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc: guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc.in
103 $(substitute) < "$<" > "$@.out"
104 mv "$@.out" "$@"
105
106 guile-config: $(srcdir)/guile-config.in $(top_builddir)/config.status
107 $(substitute) < "$<" > "$@.out"
108 chmod +x "$@.out"
109 mv "$@.out" "$@"
110
111 guild: $(srcdir)/guild.in $(top_builddir)/config.status
112 $(substitute) < "$<" > "$@.out"
113 chmod +x "$@.out"
114 mv "$@.out" "$@"
115
116 CLEANFILES = \
117 guile-config guild \
118 guile-$(GUILE_EFFECTIVE_VERSION).pc guile-$(GUILE_EFFECTIVE_VERSION)-uninstalled.pc