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.