[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dist target and bin_SCRIPTS
From: |
Alexandre Duret-Lutz |
Subject: |
Re: dist target and bin_SCRIPTS |
Date: |
Fri, 26 Sep 2003 19:34:41 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) |
>>> "Magnus" == Magnus Therning <address@hidden> writes:
Magnus> Sorry if this has been brought up before.
Magnus> This behaviour is a bit odd to me:
Magnus> bin_SCRIPTS = my_script
Magnus> will not get 'my_script' included in the
Magnus> dist-tarball.
This is expected. If instead you use
dist_bin_SCRIPTS = my_scripts
it will be distributed.
Magnus> I couldn't find this behaviour documented anywhere,
Let's fix this. I'm checking this in.
2003-09-26 Alexandre Duret-Lutz <address@hidden>
* doc/automake.texi (Scripts): Update the example about automake.
Mention `dist_' for distributed scripts.
Index: doc/automake.texi
===================================================================
RCS file: /cvs/automake/automake/doc/automake.texi,v
retrieving revision 1.3
diff -u -r1.3 automake.texi
--- doc/automake.texi 24 Sep 2003 21:11:24 -0000 1.3
+++ doc/automake.texi 26 Sep 2003 17:29:53 -0000
@@ -3961,16 +3961,34 @@
Automake does not assume that scripts are derived objects; such objects
must be deleted by hand (@pxref{Clean}).
-The @code{automake} program itself is a Perl script that is generated at
-configure time from @file{automake.in}. Here is how this is handled:
+The @code{automake} program itself is a Perl script that is generated
+from @file{automake.in}. Here is how this is handled:
@example
bin_SCRIPTS = automake
+CLEANFILES = $(bin_SCRIPTS)
+
+do_subst = sed -e 's,[@@]datadir[@@],$(datadir),g' \
+ -e 's,[@@]PERL[@@],$(PERL),g' \
+ -e 's,[@@]PACKAGE[@@],$(PACKAGE),g' \
+ -e 's,[@@]VERSION[@@],$(VERSION),g' \
+ @dots{}
+
+automake: automake.in Makefile
+ $(do_subst) < $(srcdir)/automake.in > automake
+ chmod +x automake
@end example
-Since @code{automake} appears in the @code{AC_OUTPUT} macro, a target
-for it is automatically generated, and it is also automatically cleaned
-(despite the fact it's a script).
+Because---as we have just seen---scripts can be built, they are not
+distributed by default. Scripts that should be distributed can be
+specified using a @code{dist_} prefix as in other primaries. For
+instance the following @file{Makefile.am} declares that
address@hidden should be distributed and installed in
address@hidden(sbindir)}.
+
address@hidden
+dist_sbin_SCRIPTS = my_script
address@hidden example
@cindex SCRIPTS, installation directories
@cindex Installing scripts
--
Alexandre Duret-Lutz