On 2013-04-11 01:28 +0200, Bastien ROUCARIES wrote:
> The make code fragment at
> http://www.gnu.org/software/automake/manual/html_node/Extending.html#Extending
> does not work as expected if you use --program-suffix=-hdr :
> 
> 
> 
>      install-exec-hook:
>              cd $(DESTDIR)$(bindir) && \
>                mv -f prog$(EXEEXT) prog-$(VERSION)$(EXEEXT) && \
>                $(LN_S) prog-$(VERSION)$(EXEEXT) prog$(EXEEXT)
> 
> 
> error:
> 
> mv: cannot stat `./animate': No such file or directory
> mv: cannot stat `./compare': No such file or directory
> mv: cannot stat `./composite': No such file or directory
> 
> Could you please correct the example code and explain us how to be compatible?

The suffix feature (partially) come from Autoconf; see ยง15.7 "Trans-
forming Program Names When Installing"[1] of the autoconf manual.  You
are correct that this example in the Automake manual is broken if the
user decides to use the feature.

The transformation is communicated to the Makefile as a sed program, so
I think you should be able to make it work with something like this
(untested):

  install-exec-hook:
        instprog=`echo prog | sed '$(program_transform_name)'`; \
          cd $(DESTDIR)$(bindir) && \
          mv -f $$instprog$(EXEEXT) $$instprog-$(VERSION)$(EXEEXT) && \
          $(LN_S) $$instprog-$(VERSION)$(EXEEXT) $$instprog$(EXEEXT)

[1] https://gnu.org/software/autoconf/manual/autoconf.html#Transforming-Names
        
Hope that helps,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



Reply via email to