automake
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]