Ok, it feels as though I'm trying to accomplish the impossible
... which means that the obvious thing I'm missing must be
*really* obvious :-/
I'm trying to do config-variable substitutions on some scripts,
to get @datadir@ and the like inserted into them.
The value of @datadir@ that gets substituted into the script
needs to be the actual pathname, e.g. "/usr/local/share", rather
than still having shell variables in it, like "${prefix}/share".
The autoconf documentation says to accomplish this by doing the
substitutions at "make" time, not at "configure" time (Autoconf
2.53 manual; section "Installation Directory Variables"; near the
bottom, starting at the paragraph "In order to support these
features...")
Question: How to accomplish that using Automake 1.6?
I tried:
SUFFIXES = .sh
.sh:
rm -f $@ [email protected]
sed 's,@datadir\@,$(pkgdatadir),g' $< >[email protected]
chmod +x [email protected]
mv [email protected] $@
bin_PROGRAMS = myscript
myscript_SOURCES = myscript.sh
where the ".sh" default rule is taken verbatim from the Autoconf
manual. But that insisted on trying to "cc" myscript; I guess
PROGRAMS is specifically for load modules (the manual probably
even says that someplace :-)
Then I tried changing PROGRAMS to SCRIPTS:
bin_SCRIPTS = myscript
but then automake complained of:
invalid unused variable name: `myscript_SOURCES'
Automake must not expect SCRIPTS to need any sort of building; it
must assume they can just be copied verbatim from $(srcdir) at
install time.
So ... how does one convince Automake to build a new kind of
target, when the build procedure does not ultimately involve
compiling to $(OBJEXT) files, and then linking?
Thanks in advance.
--
| | /\
|-_|/ > Eric Siegerman, Toronto, Ont. [EMAIL PROTECTED]
| | /
"Outlook not so good." That magic 8-ball knows everything!
I'll ask about Exchange Server next.
- Anonymous