14.6.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.
|