manpagez: man pages & more
info autoconf
Home | html | info | man

File: autoconf.info,  Node: Transformation Rules,  Prev: Transformation Examples,  Up: Transforming Names

15.7.3 Transformation Rules
---------------------------

Here is how to use the variable ‘program_transform_name’ in a
‘Makefile.in’:

     PROGRAMS = cp ls rm
     transform = @program_transform_name@
     install:
             for p in $(PROGRAMS); do \
               $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | \
                                                   sed '$(transform)'`; \
             done

     uninstall:
             for p in $(PROGRAMS); do \
               rm -f $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`; \
             done

   It is guaranteed that ‘program_transform_name’ is never empty, and
that there are no useless separators.  Therefore you may safely embed
‘program_transform_name’ within a sed program using ‘;’:

     transform = @program_transform_name@
     transform_exe = s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/

   Whether to do the transformations on documentation files (Texinfo or
‘man’) is a tricky question; there seems to be no perfect answer, due to
the several reasons for name transforming.  Documentation is not usually
particular to a specific architecture, and Texinfo files do not conflict
with system documentation.  But they might conflict with earlier
versions of the same files, and ‘man’ pages sometimes do conflict with
system documentation.  As a compromise, it is probably best to do name
transformations on ‘man’ pages but not on Texinfo manuals.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.