groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 01/01: Makefile.sub in whole groff source tree: add $(RM) and ch


From: Bernd Warken
Subject: [groff] 01/01: Makefile.sub in whole groff source tree: add $(RM) and change all `rm -f'. Add directory test before `rmdir'.
Date: Sat, 20 Sep 2014 15:20:09 +0000

bwarken pushed a commit to branch master
in repository groff.

commit 6ec5eac521438a2cb4d54357014b963cf523d805
Author: Bernd Warken <address@hidden>
Date:   Sat Sep 20 17:19:16 2014 +0200

    Makefile.sub in whole groff source tree: add $(RM) and change all `rm -f'.
    Add directory test before `rmdir'.
---
 ChangeLog                         |    5 ++++
 Makefile.comm                     |    3 +-
 contrib/chem/Makefile.sub         |   25 +++++++++++--------
 contrib/eqn2graph/Makefile.sub    |    5 ++-
 contrib/gdiffmk/Makefile.sub      |    5 ++-
 contrib/gideal/Makefile.sub       |    9 ++++--
 contrib/glilypond/Makefile.sub    |   15 +++++++----
 contrib/gpinyin/Makefile.sub      |    3 +-
 contrib/grap2graph/Makefile.sub   |    5 ++-
 contrib/groffer/Makefile.sub      |   19 ++++++++------
 contrib/hdtbl/Makefile.sub        |   19 ++++++++------
 contrib/mm/Makefile.sub           |   30 ++++++++++++-----------
 contrib/mom/Makefile.sub          |   32 ++++++++++++++-----------
 contrib/pdfmark/Makefile.sub      |   14 ++++++----
 contrib/pic2graph/Makefile.sub    |    5 ++-
 doc/Makefile.sub                  |   47 ++++++++++++++++++++----------------
 font/devascii/Makefile.sub        |    4 ++-
 font/devcp1047/Makefile.sub       |    4 ++-
 font/devdvi/generate/Makefile     |    6 +++-
 font/devhtml/Makefile.sub         |    4 ++-
 font/devlatin1/Makefile.sub       |    9 +++----
 font/devlj4/generate/Makefile     |    9 ++++---
 font/devpdf/Makefile.sub          |   17 ++++++-------
 font/devps/Makefile.sub           |    9 +++----
 font/devps/generate/Makefile      |   19 ++++++++-------
 font/devutf8/Makefile.sub         |    9 +++----
 src/devices/gropdf/Makefile.sub   |   10 ++++---
 src/devices/xditview/Makefile.sub |   10 +++----
 src/libs/libgroff/Makefile.sub    |   11 ++++----
 src/preproc/eqn/Makefile.sub      |    7 +++--
 src/preproc/refer/Makefile.sub    |    2 +-
 src/roff/groff/Makefile.sub       |    8 ++++--
 src/roff/nroff/Makefile.sub       |    7 +++--
 src/roff/troff/Makefile.sub       |    3 +-
 src/utils/afmtodit/Makefile.sub   |    5 ++-
 src/utils/indxbib/Makefile.sub    |    7 +++--
 src/utils/xtotroff/Makefile.in    |   10 ++++---
 tmac/Makefile.sub                 |   36 +++++++++++++++-------------
 38 files changed, 253 insertions(+), 194 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 45b8feb..0c2e7c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-09-20  Bernd Warken  <address@hidden>
 
+       * `Makefile.sub' in the whole groff source tree: Add $(RM) and
+       change all `rm -f'.  Add directory test before `rmdir'.
+
+2014-09-20  Bernd Warken  <address@hidden>
+
        * Man-pages (*.man) in the whole groff source tree: Improve
        documents by adding \[co], \[cq], \[aq] instead of ` or ' and use
        also \[co] as long as it makes sense.  Remove \[en] in the years
diff --git a/Makefile.comm b/Makefile.comm
index 1c64734..75efc22 100644
--- a/Makefile.comm
+++ b/Makefile.comm
@@ -304,7 +304,8 @@ uninstall_dev:
          if test -d $$d; then rmdir $$d; fi
        -d=$(DESTDIR)$(fontsubdir)/util;\
          if test -d $$d; then rmdir $$d; fi
-       -rmdir $(DESTDIR)$(fontsubdir)
+       -test -d $(DESTDIR)$(fontsubdir) $$ \
+         rmdir $(DESTDIR)$(fontsubdir)
        -d=$(DESTDIR)$(oldfontsubdir);\
          if test -d $$d; then rmdir $$d; fi
 
diff --git a/contrib/chem/Makefile.sub b/contrib/chem/Makefile.sub
index 34f9fd4..a770317 100644
--- a/contrib/chem/Makefile.sub
+++ b/contrib/chem/Makefile.sub
@@ -29,6 +29,8 @@ MOSTLYCLEANADD=\
   examples/README \
   examples/122/README
 
+RM=rm -f
+
 all: README chem $(MAN1) $(make_examples)
 
 README: $(srcdir)/README.txt
@@ -47,7 +49,7 @@ examples/122/README: $(srcdir)/examples/122/README.txt
        sed -e "s|@g@|$(g)|g" $? >$@
 
 chem: $(srcdir)/chem.pl $(SH_DEPS_SED_SCRIPT)
-       rm -f $@
+       $(RM) $@
        sed -f "$(SH_DEPS_SED_SCRIPT)" \
            -e "s|@g@|$(g)|g" \
            -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
@@ -61,11 +63,11 @@ chem: $(srcdir)/chem.pl $(SH_DEPS_SED_SCRIPT)
 install_data: install_always $(make_install_examples)
 install_always: chem README $(srcdir)/chem.pic
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/$(g)chem
+       $(RM) $(DESTDIR)$(bindir)/$(g)chem
        $(INSTALL_SCRIPT) chem $(DESTDIR)$(bindir)/$(g)chem
        -test -d $(DESTDIR)$(datasubdir)/pic \
           || $(mkinstalldirs) $(DESTDIR)$(datasubdir)/pic
-       rm -f $(DESTDIR)$(datasubdir)/pic/chem.pic
+       $(RM) $(DESTDIR)$(datasubdir)/pic/chem.pic
        $(INSTALL_DATA) $(srcdir)/chem.pic \
          $(DESTDIR)$(datasubdir)/pic/chem.pic
 
@@ -89,15 +91,18 @@ install_examples: install_always examples
 
 uninstall_sub: uninstall_always $(make_uninstall_examples)
 uninstall_always:
-       rm -f $(DESTDIR)$(bindir)/chem
-       rm -f $(DESTDIR)$(datasubdir)/pic/chem.pic
-       -rmdir $(DESTDIR)$(datasubdir)/pic
+       $(RM) $(DESTDIR)$(bindir)/chem
+       $(RM) $(DESTDIR)$(datasubdir)/pic/chem.pic
+       -test -d $(DESTDIR)$(datasubdir)/pic && \
+         rmdir $(DESTDIR)$(datasubdir)/pic
 
 uninstall_examples: uninstall_always
-       rm -f $(DESTDIR)$(exampledir)/chem/122/*
-       -rmdir $(DESTDIR)$(exampledir)/chem/122
-       rm -f $(DESTDIR)$(exampledir)/chem/*
-       -rmdir $(DESTDIR)$(exampledir)/chem
+       $(RM) $(DESTDIR)$(exampledir)/chem/122/*
+       -test -d $(DESTDIR)$(exampledir)/chem/122 || \
+         rmdir $(DESTDIR)$(exampledir)/chem/122
+       $(RM) $(DESTDIR)$(exampledir)/chem/*
+       test -d $(DESTDIR)$(exampledir)/chem && \
+         rmdir $(DESTDIR)$(exampledir)/chem
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/eqn2graph/Makefile.sub b/contrib/eqn2graph/Makefile.sub
index 05a5ca9..8f3a4b7 100644
--- a/contrib/eqn2graph/Makefile.sub
+++ b/contrib/eqn2graph/Makefile.sub
@@ -20,6 +20,7 @@
 #
 MAN1=eqn2graph.n
 MOSTLYCLEANADD=eqn2graph
+RM=rm -f
 
 all: eqn2graph
 
@@ -31,11 +32,11 @@ eqn2graph: eqn2graph.sh
 
 install_data: eqn2graph
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/eqn2graph
+       $(RM) $(DESTDIR)$(bindir)/eqn2graph
        $(INSTALL_SCRIPT) eqn2graph $(DESTDIR)$(bindir)/eqn2graph
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/eqn2graph
+       $(RM) $(DESTDIR)$(bindir)/eqn2graph
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/gdiffmk/Makefile.sub b/contrib/gdiffmk/Makefile.sub
index 34504ea..580a9ba 100644
--- a/contrib/gdiffmk/Makefile.sub
+++ b/contrib/gdiffmk/Makefile.sub
@@ -24,6 +24,7 @@
 
 MAN1=gdiffmk.n
 MOSTLYCLEANADD=gdiffmk tests/runtests
+RM=rm -f
 
 all: gdiffmk
 
@@ -35,11 +36,11 @@ gdiffmk: gdiffmk.sh
 
 install_data: gdiffmk
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/gdiffmk
+       $(RM) $(DESTDIR)$(bindir)/gdiffmk
        $(INSTALL_SCRIPT) gdiffmk $(DESTDIR)$(bindir)/gdiffmk
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/gdiffmk
+       $(RM) $(DESTDIR)$(bindir)/gdiffmk
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/gideal/Makefile.sub b/contrib/gideal/Makefile.sub
index 8a5959b..5d1607e 100644
--- a/contrib/gideal/Makefile.sub
+++ b/contrib/gideal/Makefile.sub
@@ -85,15 +85,18 @@ install_data: gideal
 .PHONY: uninstall_sub
 uninstall_sub: $
        $(RM) $(DESTDIR)$(bindir)/gideal
-       -rmdir $(DESTDIR)$(bindir)
+       -test -d $(DESTDIR)$(bindir) $$ \
+         rmdir $(DESTDIR)$(bindir)
        for f in $(LIBFILES); do \
          $(RM) $(DESTDIR)$(datasubdir)/ideal/$$f; \
        done
-       -rmdir $(DESTDIR)$(datasubdir)/ideal
+       -test -d $(DESTDIR)$(datasubdir)/ideal && \
+         rmdir $(DESTDIR)$(datasubdir)/ideal
        for f in $(FILES); do \
          $(RM) $(DESTDIR)$(exampledir)/ideal/$$f; \
        done
-       -rmdir $(DESTDIR)$(exampledir)/ideal
+       -test -d $(DESTDIR)$(exampledir)/ideal && \
+         rmdir $(DESTDIR)$(exampledir)/ideal
 
 
 ########################################################################
diff --git a/contrib/glilypond/Makefile.sub b/contrib/glilypond/Makefile.sub
index 0e49dd5..f843271 100644
--- a/contrib/glilypond/Makefile.sub
+++ b/contrib/glilypond/Makefile.sub
@@ -38,10 +38,12 @@ GLILYPOND_LIB=\
 
 GLILYPOND_LIB_=`echo $(GLILYPOND_LIB) | sed 's|$(srcdir)/||g'`
 
+RM=rm -f
+
 # create perl executable `glilypond', being stored into `bindir'
 
 glilypond: $(srcdir)/glilypond.pl
-       rm -f $@
+       $(RM) $@
        sed -f "$(SH_DEPS_SED_SCRIPT)" \
            -e "s|@g@|$(g)|g" \
            -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
@@ -53,21 +55,22 @@ glilypond: $(srcdir)/glilypond.pl
 install_data: glilypond $(GLILYPOND_LIB)
        -test -d $(DESTDIR)$(bindir) \
          || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/glilypond
+       $(RM) $(DESTDIR)$(bindir)/glilypond
        $(INSTALL_SCRIPT) glilypond $(DESTDIR)$(bindir)/glilypond
        -test -d $(DESTDIR)$(glilypond_dir) \
          || $(mkinstalldirs) $(DESTDIR)$(glilypond_dir)
        for f in $(GLILYPOND_LIB_); do \
-         rm -f $(DESTDIR)$(glilypond_dir)/$$f; \
+         $(RM) $(DESTDIR)$(glilypond_dir)/$$f; \
          $(INSTALL_SCRIPT) $(srcdir)/$$f $(DESTDIR)$(glilypond_dir)/$$f; \
        done
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/glilypond
+       $(RM) $(DESTDIR)$(bindir)/glilypond
        -for f in $(GLILYPOND_LIB_); do \
-         rm -f $(DESTDIR)$(glilypond_dir)/$$f; \
+         $(RM) $(DESTDIR)$(glilypond_dir)/$$f; \
        done
-       -rmdir $(DESTDIR)$(glilypond_dir)
+       -test -d $(DESTDIR)$(glilypond_dir) && \
+         rmdir $(DESTDIR)$(glilypond_dir)
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/gpinyin/Makefile.sub b/contrib/gpinyin/Makefile.sub
index dec4638..df037ac 100644
--- a/contrib/gpinyin/Makefile.sub
+++ b/contrib/gpinyin/Makefile.sub
@@ -57,7 +57,8 @@ install_data: gpinyin subs.pl
 uninstall_sub:
        $(RM) $(DESTDIR)$(bindir)/gpinyin; \
         $(RM) $(DESTDIR)$(gpinyin_dir)/subs.pl; \
-       rmdir $(DESTDIR)$(gpinyin_dir)
+       -test -d $(DESTDIR)$(gpinyin_dir) && \
+         rmdir $(DESTDIR)$(gpinyin_dir)
 
 
 ########################################################################
diff --git a/contrib/grap2graph/Makefile.sub b/contrib/grap2graph/Makefile.sub
index 032d880..97761fe 100644
--- a/contrib/grap2graph/Makefile.sub
+++ b/contrib/grap2graph/Makefile.sub
@@ -19,6 +19,7 @@
 #
 MAN1=grap2graph.n
 MOSTLYCLEANADD=grap2graph
+RM=rm -f
 
 all: grap2graph
 
@@ -30,11 +31,11 @@ grap2graph: grap2graph.sh
 
 install_data: grap2graph
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/grap2graph
+       $(RM) $(DESTDIR)$(bindir)/grap2graph
        $(INSTALL_SCRIPT) grap2graph $(DESTDIR)$(bindir)/grap2graph
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/grap2graph
+       $(RM) $(DESTDIR)$(bindir)/grap2graph
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/groffer/Makefile.sub b/contrib/groffer/Makefile.sub
index b6d4a72..05e00d2 100644
--- a/contrib/groffer/Makefile.sub
+++ b/contrib/groffer/Makefile.sub
@@ -39,6 +39,8 @@ MAN1=groffer.n \
 
 MOSTLYCLEANADD=groffer $(MAN1) $(ROFF2MAN) $(ROFF2N) $(ROFF2PROGS)
 
+RM=rm -f
+
 all: groffer
 
 GROFFER_PERL=subs.pl \
@@ -71,30 +73,31 @@ groffer: $(GROFFER_PERL) $(GROFFER_REST) 
$(SH_DEPS_SED_SCRIPT)
 
 install_data: groffer
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/groffer
+       $(RM) $(DESTDIR)$(bindir)/groffer
        $(INSTALL_SCRIPT) groffer $(DESTDIR)$(bindir)/groffer
        for f in $(ROFF2PROGS); do \
-         rm -f $(DESTDIR)$(bindir)/$$f; \
+         $(RM) $(DESTDIR)$(bindir)/$$f; \
          $(INSTALL_SCRIPT) $$f $(DESTDIR)$(bindir)/$$f; \
        done
        -test -d $(DESTDIR)$(groffer_dir) \
          || $(mkinstalldirs) $(DESTDIR)$(groffer_dir)
-       rm -f $(DESTDIR)$(groffer_dir)/version.sh
+       $(RM) $(DESTDIR)$(groffer_dir)/version.sh
        $(INSTALL_DATA) $(srcdir)/version.sh $(DESTDIR)$(groffer_dir)/version.sh
        for f in $(GROFFER_PERL); do \
-         rm -f $(DESTDIR)$(groffer_dir)/$$f; \
+         $(RM) $(DESTDIR)$(groffer_dir)/$$f; \
        done
        for f in $(GROFFER_PERL); do \
          $(INSTALL_SCRIPT) $(srcdir)/$$f $(DESTDIR)$(groffer_dir)/$$f; \
        done;
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/groffer
-       -for f in $(ROFF2PROGS); do rm -f $(DESTDIR)$(bindir)/$$f; done
+       $(RM) $(DESTDIR)$(bindir)/groffer
+       -for f in $(ROFF2PROGS); do $(RM) $(DESTDIR)$(bindir)/$$f; done
        -for f in $(GROFFER_PERL) version.sh; do \
-         rm -f $(DESTDIR)$(groffer_dir)/$$f;\
+         $(RM) $(DESTDIR)$(groffer_dir)/$$f;\
        done
-       -rmdir $(DESTDIR)$(libdir)/groff/groffer
+       -test -d $(DESTDIR)$(libdir)/groff/groffer && \
+         rmdir $(DESTDIR)$(libdir)/groff/groffer
 
 
 ########################################################################
diff --git a/contrib/hdtbl/Makefile.sub b/contrib/hdtbl/Makefile.sub
index 258ab6b..5bc06d8 100644
--- a/contrib/hdtbl/Makefile.sub
+++ b/contrib/hdtbl/Makefile.sub
@@ -87,6 +87,8 @@ MOSTLYCLEANADD=\
   stamp-strip \
   hdmisc.tmac-s hdtbl.tmac-s
 
+RM=rm -f
+
 .SUFFIXES: .roff .in .ps
 
 .roff.ps:
@@ -119,7 +121,7 @@ examples/stamp:
 
 stamp-strip: $(STRIPFILES)
        for f in $(STRIPFILES); do \
-         rm -f $$f-s; \
+         $(RM) $$f-s; \
          sed -f $(top_srcdir)/tmac/strip.sed $(srcdir)/$$f >$$f-s; \
        done
        touch $@
@@ -129,7 +131,7 @@ install_data: install_always $(make_install_examples)
 install_always: $(STRIPFILES) $(GENFILES)
        -test -d $(DESTDIR)$(tmacdir) || $(mkinstalldirs) $(DESTDIR)$(tmacdir)
        for f in $(STRIPFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $$f-s $(DESTDIR)$(tmacdir)/$$f; \
        done
 
@@ -138,12 +140,12 @@ install_examples: install_always $(EXAMPLEFILES) 
$(PROCESSEDEXAMPLEFILES) \
        -test -d $(DESTDIR)$(exampledir)/hdtbl \
          || $(mkinstalldirs) $(DESTDIR)$(exampledir)/hdtbl
        for f in $(EXAMPLEFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/hdtbl/$$f; \
          $(INSTALL_DATA) $(srcdir)/examples/$$f \
            $(DESTDIR)$(exampledir)/hdtbl/$$f; \
        done
        for f in $(PROCESSEDEXAMPLEFILES_) $(GENFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/hdtbl/$$f; \
          $(INSTALL_DATA) examples/$$f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
        done
        $(INSTALL_DATA) gnu.eps $(DESTDIR)$(exampledir)/hdtbl/gnu.eps
@@ -151,14 +153,15 @@ install_examples: install_always $(EXAMPLEFILES) 
$(PROCESSEDEXAMPLEFILES) \
 uninstall_sub: uninstall_always $(make_uninstall_examples)
 
 uninstall_always:
-       -for f in $(STRIPFILES); do rm -f $(DESTDIR)$(tmacdir)/$$f; done
+       -for f in $(STRIPFILES); do $(RM) $(DESTDIR)$(tmacdir)/$$f; done
 
 uninstall_examples: uninstall_always
        -for f in $(EXAMPLEFILES_) $(PROCESSEDEXAMPLEFILES_) $(GENFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/hdtbl/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/hdtbl/$$f; \
        done
-       rm -f $(DESTDIR)$(exampledir)/hdtbl/gnu.eps
-       -rmdir $(DESTDIR)$(exampledir)/hdtbl
+       $(RM) $(DESTDIR)$(exampledir)/hdtbl/gnu.eps
+       -test -d $(DESTDIR)$(exampledir)/hdtbl && \
+         rmdir $(DESTDIR)$(exampledir)/hdtbl
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/mm/Makefile.sub b/contrib/mm/Makefile.sub
index f18553d..d40eafd 100644
--- a/contrib/mm/Makefile.sub
+++ b/contrib/mm/Makefile.sub
@@ -28,6 +28,7 @@ FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov
 # Local configuration files with default values.
 LOCALE=locale se_locale
 MOSTLYCLEANADD=temp
+RM=rm -f
 
 all: mmroff
 
@@ -37,7 +38,7 @@ install_data: install_m
        -test -d $(DESTDIR)$(tmacdir)/mm \
          || $(mkinstalldirs) $(DESTDIR)$(tmacdir)/mm
        for f in $(FILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/mm/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/mm/$$f; \
          $(INSTALL_DATA) $(srcdir)/mm/$$f $(DESTDIR)$(tmacdir)/mm/$$f; \
        done
        for f in $(LOCALE); do \
@@ -49,8 +50,8 @@ install_data: install_m
 
 install_m:
        -test -d $(DESTDIR)$(tmacdir) || $(mkinstalldirs) $(DESTDIR)$(tmacdir)
-       rm -f $(DESTDIR)$(tmacdir)/tmac.$(tmac_m_prefix)m
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)m.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/tmac.$(tmac_m_prefix)m
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)m.tmac
        $(INSTALL_DATA) $(srcdir)/m.tmac \
          $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)m.tmac
        @sed -e "s;^.mso m.tmac;.mso $(tmac_m_prefix)m.tmac;g" \
@@ -62,7 +63,7 @@ install_m:
 
 install_mmroff: mmroff
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/mmroff
+       $(RM) $(DESTDIR)$(bindir)/mmroff
        $(INSTALL_SCRIPT) mmroff $(DESTDIR)$(bindir)/mmroff
 
 mmroff: mmroff.pl
@@ -70,19 +71,20 @@ mmroff: mmroff.pl
        chmod +x $@
 
 uninstall_sub:
-       -for f in $(FILES); do rm -f $(DESTDIR)$(tmacdir)/mm/$$f; done
+       -for f in $(FILES); do $(RM) $(DESTDIR)$(tmacdir)/mm/$$f; done
        -for f in $(LOCALE); do \
          test -s $(DESTDIR)$(tmacdir)/mm/$$f \
-           || rm -f $(DESTDIR)$(tmacdir)/mm/$$f; \
+           || $(RM) $(DESTDIR)$(tmacdir)/mm/$$f; \
        done
-       rm -f $(DESTDIR)$(tmacdir)/tmac.$(tmac_m_prefix)m
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)m.tmac
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mm.tmac
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mse.tmac
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mmse.tmac
-       rm -f $(DESTDIR)$(tmacdir)/refer-mm.tmac
-       -rmdir $(DESTDIR)$(tmacdir)/mm
-       rm -f $(DESTDIR)$(bindir)/mmroff
+       $(RM) $(DESTDIR)$(tmacdir)/tmac.$(tmac_m_prefix)m
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)m.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mm.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mse.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mmse.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/refer-mm.tmac
+       -test -d $(DESTDIR)$(tmacdir)/mm && \
+         rmdir $(DESTDIR)$(tmacdir)/mm
+       $(RM) $(DESTDIR)$(bindir)/mmroff
 
 ########################################################################
 # Emacs settings
diff --git a/contrib/mom/Makefile.sub b/contrib/mom/Makefile.sub
index 9cd3c88..04fc501 100644
--- a/contrib/mom/Makefile.sub
+++ b/contrib/mom/Makefile.sub
@@ -108,6 +108,8 @@ MOSTLYCLEANADD=\
   examples/stamp \
   om.tmac-s
 
+RM=rm -f
+
 #.SUFFIXES: .mom .ps
 #.mom.ps:
 #      $(GROFF) -Tps -mom $< >$@
@@ -138,11 +140,11 @@ install_data: install_always \
 install_always: stamp-strip $(NORMALFILES)
        -test -d $(DESTDIR)$(tmacdir) || $(mkinstalldirs) $(DESTDIR)$(tmacdir)
        for f in $(NORMALFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(tmacdir)/$$f; \
        done
        for f in $(STRIPFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $$f-s $(DESTDIR)$(tmacdir)/$$f; \
        done
 
@@ -153,7 +155,7 @@ install_htmldoc: install_always $(HTMLDOCFILES)
        -test -d $(DESTDIR)$(htmldocdir)/mom \
          || $(mkinstalldirs) $(DESTDIR)$(htmldocdir)/mom
        for f in $(HTMLDOCFILES_); do \
-         rm -f $(DESTDIR)$(htmldocdir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(htmldocdir)/mom/$$f; \
          $(INSTALL_DATA) $(srcdir)/momdoc/$$f \
            $(DESTDIR)$(htmldocdir)/mom/$$f; \
        done
@@ -164,26 +166,26 @@ install_examples_always: $(EXAMPLEFILES)
        -test -d $(DESTDIR)$(exampledir)/mom \
          || $(mkinstalldirs) $(DESTDIR)$(exampledir)/mom
        for f in $(EXAMPLEFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/mom/$$f; \
          $(INSTALL_DATA) $(srcdir)/examples/$$f \
            $(DESTDIR)$(exampledir)/mom/$$f; \
        done
 
 install_pdfexamples: install_examples_always $(PROCESSEDEXAMPLEFILES)
        for f in $(PROCESSEDEXAMPLEFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/mom/$$f; \
          $(INSTALL_DATA) examples/$$f $(DESTDIR)$(exampledir)/mom/$$f; \
        done
        -test -d $(DESTDIR)$(pdfdocdir) \
          || $(mkinstalldirs) $(DESTDIR)$(pdfdocdir)
        for f in $(PDFDOCFILE); do \
-         rm -f $(DESTDIR)$(pdfdocdir)/$$f; \
+         $(RM) $(DESTDIR)$(pdfdocdir)/$$f; \
          ln -s $(exampledir)/mom/$$f $(DESTDIR)$(pdfdocdir)/$$f; \
        done
 
 stamp-strip: $(STRIPFILES)
        for f in $(STRIPFILES); do \
-         rm -f $$f-s; \
+         $(RM) $$f-s; \
          LANG=C LC_ALL=C \
            sed -f $(top_srcdir)/tmac/strip.sed $(srcdir)/$$f >$$f-s; \
        done
@@ -195,7 +197,7 @@ uninstall_sub: uninstall_always \
 
 uninstall_always:
        -for f in $(NORMALFILES) $(STRIPFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
        done
 
 uninstall_pdfdoc: uninstall_always
@@ -203,22 +205,24 @@ uninstall_pdfdoc: uninstall_always
 
 uninstall_htmldoc: uninstall_always
        -for f in $(HTMLDOCFILES_); do \
-         rm -f $(DESTDIR)$(htmldocdir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(htmldocdir)/mom/$$f; \
        done
-       -rmdir $(DESTDIR)$(htmldocdir)/mom
+       -test -d $(DESTDIR)$(htmldocdir)/mom && \
+         rmdir $(DESTDIR)$(htmldocdir)/mom
 
 uninstall_examples: uninstall_examples_always $(make_uninstall_pdfexamples)
-       -rmdir $(DESTDIR)$(exampledir)/mom
+       -test -d $(DESTDIR)$(exampledir)/mom && \
+         rmdir $(DESTDIR)$(exampledir)/mom
 
 uninstall_examples_always:
        -for f in $(EXAMPLEFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/mom/$$f; \
        done
 
 uninstall_pdfexamples: uninstall_examples_always
        -for f in $(PDFDOCFILE); do \
-         rm -f $(DESTDIR)$(pdfdocdir)/$$f; \
+         $(RM) $(DESTDIR)$(pdfdocdir)/$$f; \
        done
        -for f in $(PROCESSEDEXAMPLEFILES_); do \
-         rm -f $(DESTDIR)$(exampledir)/mom/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/mom/$$f; \
        done
diff --git a/contrib/pdfmark/Makefile.sub b/contrib/pdfmark/Makefile.sub
index a343533..01c6d8b 100644
--- a/contrib/pdfmark/Makefile.sub
+++ b/contrib/pdfmark/Makefile.sub
@@ -56,6 +56,8 @@ PDFROFF=\
   GROFF_BIN_PATH="$(GROFF_BIN_PATH)" \
   ./pdfroff --keep-temporary-files $(FFLAG) $(MFLAG) $(PFLAG)
 
+RM=rm -f
+
 .SUFFIXES: .ms .pdf
 .ms.pdf:
        $(PDFROFF) -mspdf --stylesheet=$(srcdir)/cover.ms $< >$@
@@ -90,12 +92,12 @@ install_data: install_always $(make_install_pdfdoc)
 install_always:
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
        for f in $(CMDFILES); do \
-         rm -f $(DESTDIR)$(bindir)/$$f; \
+         $(RM) $(DESTDIR)$(bindir)/$$f; \
          $(INSTALL_SCRIPT) $$f $(DESTDIR)$(bindir)/$$f; \
        done
        -test -d $(DESTDIR)$(tmacdir) || $(mkinstalldirs) $(DESTDIR)$(tmacdir)
        for f in $(TMACFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(tmacdir)/$$f; \
        done
 
@@ -103,18 +105,18 @@ install_pdfdoc: install_always
        -test -d $(DESTDIR)$(pdfdocdir) \
          || $(mkinstalldirs) $(DESTDIR)$(pdfdocdir)
        for f in $(PDFDOCFILES); do \
-         rm -f $(DESTDIR)$(pdfdocdir)/$$f; \
+         $(RM) $(DESTDIR)$(pdfdocdir)/$$f; \
          $(INSTALL_DATA) $$f $(DESTDIR)$(pdfdocdir)/$$f; \
        done
 
 uninstall_sub: uninstall_always $(make_uninstall_pdfdoc)
 
 uninstall_always:
-       -for f in $(CMDFILES); do rm -f $(DESTDIR)$(bindir)/$$f; done
-       -for f in $(TMACFILES); do rm -f $(DESTDIR)$(tmacdir)/$$f; done
+       -for f in $(CMDFILES); do $(RM) $(DESTDIR)$(bindir)/$$f; done
+       -for f in $(TMACFILES); do $(RM) $(DESTDIR)$(tmacdir)/$$f; done
 
 uninstall_pdfdoc: uninstall_always
-       -for f in $(PDFDOCFILES); do rm -f $(DESTDIR)$(pdfdocdir)/$$f; done
+       -for f in $(PDFDOCFILES); do $(RM) $(DESTDIR)$(pdfdocdir)/$$f; done
 
 # Emacs settings
 ########################################################################
diff --git a/contrib/pic2graph/Makefile.sub b/contrib/pic2graph/Makefile.sub
index 410e94a..d49b7e3 100644
--- a/contrib/pic2graph/Makefile.sub
+++ b/contrib/pic2graph/Makefile.sub
@@ -19,6 +19,7 @@
 #
 MAN1=pic2graph.n
 MOSTLYCLEANADD=pic2graph
+RM=rm -f
 
 all: pic2graph
 
@@ -30,11 +31,11 @@ pic2graph: pic2graph.sh
 
 install_data: pic2graph
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/pic2graph
+       $(RM) $(DESTDIR)$(bindir)/pic2graph
        $(INSTALL_SCRIPT) pic2graph $(DESTDIR)$(bindir)/pic2graph
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/pic2graph
+       $(RM) $(DESTDIR)$(bindir)/pic2graph
 
 
 ########################################################################
diff --git a/doc/Makefile.sub b/doc/Makefile.sub
index 0d3e82a..b2325f9 100644
--- a/doc/Makefile.sub
+++ b/doc/Makefile.sub
@@ -108,6 +108,8 @@ MOSTLYCLEANNOTSRCDIRADD=\
   groff-*.info \
   gnu.eps
 
+RM=rm -f
+
 .SUFFIXES: .me .ms .ps .html
 
 # For simplicity, we always call preconv, grn, and eqn.
@@ -178,11 +180,11 @@ install_always:
 
 install_otherdoc: install_always $(DOCFILES) $(PROCESSEDDOCFILES)
        for f in $(DOCFILES); do \
-         rm -f $(DESTDIR)$(docdir)/$$f; \
+         $(RM) $(DESTDIR)$(docdir)/$$f; \
          $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(docdir)/$$f; \
        done
        for f in $(PROCESSEDDOCFILES); do \
-         rm -f $(DESTDIR)$(docdir)/$$f; \
+         $(RM) $(DESTDIR)$(docdir)/$$f; \
          $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
        done
 
@@ -193,7 +195,7 @@ install_infodoc: install_always groff.info
        d=.; test -f "groff.info" || d=$(srcdir); \
          for p in $$d/groff.info `ls $$d/groff.info*`; do \
            f=`basename $$p`; \
-           rm -f $(DESTDIR)$(infodir)/$$f; \
+           $(RM) $(DESTDIR)$(infodir)/$$f; \
            $(INSTALL_DATA) $$p $(DESTDIR)$(infodir)/$$f; \
          done
        $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
@@ -203,12 +205,12 @@ install_htmldoc: install_always $(HTMLDOCFILES)
        -test -d $(DESTDIR)$(htmldocdir) \
          || $(mkinstalldirs) $(DESTDIR)$(htmldocdir)
        for f in `ls $(HTMLDOCFILESALL)`; do \
-         rm -f $(DESTDIR)$(htmldocdir)/$$f; \
+         $(RM) $(DESTDIR)$(htmldocdir)/$$f; \
          $(INSTALL_DATA) $$f $(DESTDIR)$(htmldocdir)/$$f; \
        done
        -test -d $(DESTDIR)$(htmldocimagedir) \
          || $(mkinstalldirs) $(DESTDIR)$(htmldocimagedir)
-       rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
+       $(RM) $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
        $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) \
          $(DESTDIR)$(htmldocimagedir)
 
@@ -220,25 +222,25 @@ install_examples_always: gnu.eps $(EXAMPLEFILES) 
$(PROCESSEDEXAMPLEFILES)
        -test -d $(DESTDIR)$(exampledir) \
          || $(mkinstalldirs) $(DESTDIR)$(exampledir)
        d=.; test -f "gnu.eps" || d=$(srcdir); \
-         rm -f $(DESTDIR)$(exampledir)/gnu.eps; \
+         $(RM) $(DESTDIR)$(exampledir)/gnu.eps; \
          $(INSTALL_DATA) $$d/gnu.eps $(DESTDIR)$(exampledir)/gnu.eps
        for f in $(EXAMPLEFILES); do \
-         rm -f $(DESTDIR)$(exampledir)/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/$$f; \
          $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(exampledir)/$$f; \
        done
        for f in $(PROCESSEDEXAMPLEFILES); do \
-         rm -f $(DESTDIR)$(exampledir)/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/$$f; \
          $(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
        done
 
 install_htmlexamples: install_examples_always $(HTMLEXAMPLEFILES)
        for f in `ls $(HTMLEXAMPLEFILESALL)`; do \
-         rm -f $(DESTDIR)$(exampledir)/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/$$f; \
          $(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
        done
        -test -d $(DESTDIR)$(exampleimagedir) \
          || $(mkinstalldirs) $(DESTDIR)$(exampleimagedir)
-       rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
+       $(RM) $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
        $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) \
          $(DESTDIR)$(exampleimagedir)
 
@@ -248,39 +250,42 @@ uninstall_sub: uninstall_always \
 
 uninstall_always:
        -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
-         rm -f $(DESTDIR)$(docdir)/$$f; \
+         $(RM) $(DESTDIR)$(docdir)/$$f; \
        done
 
 uninstall_infodoc: uninstall_always
        -$(INSTALL_INFO) --remove --info-dir=$(DESTDIR)$(infodir) \
          $(DESTDIR)$(infodir)/groff.info
        -for f in groff `ls groff.info*`; do \
-         rm -f $(DESTDIR)$(infodir)/$$f; \
+         $(RM) $(DESTDIR)$(infodir)/$$f; \
        done
 
 uninstall_htmldoc: uninstall_always
        -for f in `ls $(HTMLDOCFILESALL)`; do \
-         rm -f $(DESTDIR)$(htmldocdir)/$$f; \
+         $(RM) $(DESTDIR)$(htmldocdir)/$$f; \
        done
-       rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
-       -rmdir $(DESTDIR)$(htmldocimagedir)
+       $(RM) $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
+       -test -d $(DESTDIR)$(htmldocimagedir) && \
+         rmdir $(DESTDIR)$(htmldocimagedir)
 
 uninstall_examples: uninstall_always uninstall_examples_always \
                    $(make_uninstall_htmlexamples)
-       -rmdir $(DESTDIR)$(exampledir)
+       -test -d $(DESTDIR)$(exampledir) && \
+         rmdir $(DESTDIR)$(exampledir)
 
 uninstall_examples_always:
        -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
-         rm -f $(DESTDIR)$(exampledir)/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/$$f; \
        done
-       rm -f $(DESTDIR)$(exampledir)/gnu.eps
+       $(RM) $(DESTDIR)$(exampledir)/gnu.eps
 
 uninstall_htmlexamples: uninstall_examples_always
        -for f in `ls $(HTMLEXAMPLEFILESALL)`; do \
-         rm -f $(DESTDIR)$(exampledir)/$$f; \
+         $(RM) $(DESTDIR)$(exampledir)/$$f; \
        done
-       rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
-       -rmdir $(DESTDIR)$(exampleimagedir)
+       $(RM) $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
+       -test -d $(DESTDIR)$(exampleimagedir) && \
+         rmdir $(DESTDIR)$(exampleimagedir)
 
 ########################################################################
 # Emacs settings
diff --git a/font/devascii/Makefile.sub b/font/devascii/Makefile.sub
index 4a92383..93b0ebd 100644
--- a/font/devascii/Makefile.sub
+++ b/font/devascii/Makefile.sub
@@ -34,9 +34,11 @@ RES=240
 CPI=10
 LPI=6
 
+RM=rm -f
+
 $(FONTS): R.proto
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @charwidth=`expr $(RES) / $(CPI)` ; \
         sed -e "s/^name [A-Z]*$$/name $@/" \
             -e \
diff --git a/font/devcp1047/Makefile.sub b/font/devcp1047/Makefile.sub
index 6ff5cfe..eac7306 100644
--- a/font/devcp1047/Makefile.sub
+++ b/font/devcp1047/Makefile.sub
@@ -34,9 +34,11 @@ RES=240
 CPI=10
 LPI=6
 
+RM=rm -f
+
 $(FONTS): R.proto
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @charwidth=`expr $(RES) / $(CPI)` ; \
         sed -e "s/^name [A-Z]*$$/name $@/" \
             -e \
diff --git a/font/devdvi/generate/Makefile b/font/devdvi/generate/Makefile
index e9d0f09..cea9ee5 100644
--- a/font/devdvi/generate/Makefile
+++ b/font/devdvi/generate/Makefile
@@ -38,6 +38,8 @@ FONTS=TR TI TB TBI CW CWI HR HI HB HBI \
       MI S SC EX SA SB
 SPECIALFLAG=-s
 
+RM=rm -f
+
 all: $(FONTS)
 
 #### CM fonts ####
@@ -197,10 +199,10 @@ HBITC: $(srcdir)/tc.map
 clean:
 
 realclean:
-       rm -f $(FONTS)
+       $(RM) $(FONTS)
 
 extraclean: realclean
-       rm -f core *~ "#*"
+       $(RM) core *~ "#*"
 
 .PHONY: clean realclean extraclean all
 
diff --git a/font/devhtml/Makefile.sub b/font/devhtml/Makefile.sub
index 202ea93..e2b2e1e 100644
--- a/font/devhtml/Makefile.sub
+++ b/font/devhtml/Makefile.sub
@@ -35,9 +35,11 @@ RES=240
 CPI=10
 LPI=6
 
+RM=rm -f
+
 $(FONTS): R.proto
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @charwidth=`expr $(RES) / $(CPI)` ; \
         sed -e "s/^name [A-Z]*$$/name $@/" \
             -e \
diff --git a/font/devlatin1/Makefile.sub b/font/devlatin1/Makefile.sub
index fd6df17..ae8eb28 100644
--- a/font/devlatin1/Makefile.sub
+++ b/font/devlatin1/Makefile.sub
@@ -2,10 +2,7 @@
 #
 # File position: <groff-source>/font/devlatin1/Makefile.sub
 #
-# Copyright (C) 2014
-#   Free Software Foundation, Inc.
-#
-# Last update: 2 Sep 2014
+# Copyright (C) 2014 Free Software Foundation, Inc.
 #
 # This file is part of `font utf8' which is part of `groff'.
 #
@@ -34,9 +31,11 @@ RES=240
 CPI=10
 LPI=6
 
+RM=rm -f
+
 $(FONTS): R.proto
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @charwidth=`expr $(RES) / $(CPI)` ; \
         sed -e "s/^name [A-Z]*$$/name $@/" \
             -e \
diff --git a/font/devlj4/generate/Makefile b/font/devlj4/generate/Makefile
index eb2fa14..6c5c6c8 100644
--- a/font/devlj4/generate/Makefile
+++ b/font/devlj4/generate/Makefile
@@ -2,8 +2,7 @@
 #
 # File position: <groff-source>/font/devlj4/generate/Makefile
 #
-# Copyright (C) 1994, 2002, 2003, 2004, 2009, 2014
-#   Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 #   Written by James Clark (address@hidden)
 #
 # This file is part of groff.
@@ -64,6 +63,8 @@ FONTS=\
   CLARENDON CORONET MARIGOLD S \
   SYMBOL WINGDINGS
 
+RM=rm -f
+
 all: $(FONTS)
 
 #
@@ -261,9 +262,9 @@ WINGDINGS: $(AUTOFONT)/9nb00095.tfm $(WINGDINGSMAP)
 clean:
 
 realclean:
-       rm -f $(FONTS)
+       $(RM) $(FONTS)
 
 extraclean: realclean
-       rm -f core *~ "#*"
+       $(RM) core *~ "#*"
 
 .PHONY: clean realclean extraclean all
diff --git a/font/devpdf/Makefile.sub b/font/devpdf/Makefile.sub
index a6df732..e367a34 100644
--- a/font/devpdf/Makefile.sub
+++ b/font/devpdf/Makefile.sub
@@ -2,12 +2,9 @@
 #
 # File position: <groff-source>/font/devpdf/Makefile.sub
 #
-# Copyright (C) 2011, 2013-2014 Free Software Foundation, Inc.
-#      Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
 #      Written by Deri James <address@hidden>
 #
-# Last update: 2 Sep 2014
-#
 # This file is part of groff.
 #
 # groff is free software; you can redistribute it and/or modify it under
@@ -50,17 +47,19 @@ DISTFILES=\
   $(DEVFILES) \
   $(DEVSCRIPTS)
 
+RM=rm -f
+
 all: DESC
 
 DESC: DESC.in
-       rm -f DESC
+       $(RM) DESC
        cat $(srcdir)/DESC.in >$(top_builddir)/font/devpdf/DESC
        if test "$(PAGE)" = A4; then \
          echo "papersize a4" >>$(top_builddir)/font/devpdf/DESC; \
        else \
          echo "papersize letter" >>$(top_builddir)/font/devpdf/DESC; \
        fi
-       rm -f Foundry
+       $(RM) Foundry
        cat $(srcdir)/Foundry.in >$(top_builddir)/font/devpdf/Foundry
        -test -d $(top_builddir)/font/devpdf/enc \
          || $(mkinstalldirs) $(top_builddir)/font/devpdf/enc
@@ -77,7 +76,7 @@ DESC: DESC.in
        cp -f $(top_srcdir)/font/devps/generate/symbolchars \
          $(top_builddir)/font/devpdf/map
        -test -d util || $(mkinstalldirs) util
-       rm -f util/BuildFoundries
+       $(RM) util/BuildFoundries
        if test -n "$(PERL)"; then \
          sed -f $(SH_DEPS_SED_SCRIPT) \
              -e "s|/usr/bin/perl|$(PERL)|" \
@@ -110,7 +109,7 @@ install_data:
        -test -d $(DESTDIR)$(fontsubdir)/util \
          || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/util
        for f in $(MOSTLYCLEANADD); do \
-         rm -f $(DESTDIR)$(fontsubdir)/$$f; \
+         $(RM) $(DESTDIR)$(fontsubdir)/$$f; \
          if test -f $$f; then \
            $(INSTALL_DATA) $$f $(DESTDIR)$(fontsubdir)/$$f; \
          else \
@@ -120,7 +119,7 @@ install_data:
 
 uninstall_sub:
        -for f in $(MOSTLYCLEANADD); do \
-         rm -f $(DESTDIR)$(fontsubdir)/$$f; \
+         $(RM) $(DESTDIR)$(fontsubdir)/$$f; \
        done
        -d=$(DESTDIR)$(fontsubdir)/enc; \
          if test -d $$d; then rmdir $$d; fi
diff --git a/font/devps/Makefile.sub b/font/devps/Makefile.sub
index 0a7337f..3258486 100644
--- a/font/devps/Makefile.sub
+++ b/font/devps/Makefile.sub
@@ -2,10 +2,7 @@
 
 # File position: <groff-source>/font/devps/Makefile.sub
 
-# Copyright (C) 2014
-#   Free Software Foundation, Inc.
-
-# Last update: 2 Sep 2014
+# Copyright (C) 2014 Free Software Foundation, Inc.
 
 # This file is part of `groffer' which is part of `groff'.
 
@@ -62,6 +59,8 @@ DEVSCRIPTS=$(DEVGENSCRIPTS)
 
 MOSTLYCLEANADD=DESC $(PSFILES)
 
+RM=rm -f
+
 DESC: DESC.in
        cat $(srcdir)/DESC.in >DESC
        echo broken $(BROKEN_SPOOLER_FLAGS) >>DESC
@@ -81,7 +80,7 @@ zapfdr.pfa: zapfdr.ps
 symbolsl.pfa: symbolsl.ps
 
 $(PSFILES):
-       rm -f $@
+       $(RM) $@
        sed -f $(srcdir)/psstrip.sed $? >$@
 
 ########################################################################
diff --git a/font/devps/generate/Makefile b/font/devps/generate/Makefile
index 11a17b8..2cf67d2 100644
--- a/font/devps/generate/Makefile
+++ b/font/devps/generate/Makefile
@@ -1,7 +1,6 @@
 # Location: <groff-source>/font/devps/generate/Makefile
 #
-# Copyright (C) 1989-2000, 2002, 2003, 2006, 2009, 2014
-#   Free Software Foundation, Inc.
+# Copyright (C) 1989-2014 Free Software Foundation, Inc.
 #      Written by James Clark (address@hidden)
 #
 # This file is part of groff.
@@ -58,6 +57,8 @@ EFLAG=-e $(TEXTENC)
 TEXTMAP=$(srcdir)/textmap
 AFMNAME=$(srcdir)/afmname
 
+RM=rm -f
+
 all: $(FONTS)
 
 TR:
@@ -217,20 +218,20 @@ freeeuro.afm freeeuro.pfa: $(srcdir)/freeeuro.sfd
        fontforge -script $(srcdir)/sfdtopfa.pe $(srcdir)/freeeuro.sfd
 
 symbol.afm: $(srcdir)/symbol.sed
-       -rm -f $@
+       $(RM) $@
        sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` >$@
 
 symbolsl.afm: $(srcdir)/symbolsl.awk $(srcdir)/../symbolsl.ps
-       rm -f $@ Fontmap
+       $(RM) $@ Fontmap
        echo "/Symbol-Slanted ($(srcdir)/../symbolsl.ps) ;"  > Fontmap
        echo "/Symbol         ($(symbolfont)) ;" >> Fontmap
        $(PRINTAFM) Symbol-Slanted > tmp.afm
        awk -f $(srcdir)/symbolsl.awk -v SYMAFM=`$(AFMNAME) \
          $(afmdir)/Symbol.afm` tmp.afm >$@
-       rm -f Fontmap tmp.afm
+       $(RM) Fontmap tmp.afm
 
 zapfdr.afm: $(srcdir)/zapfdr.sed
-       rm -f $@
+       $(RM) $@
        sed -f $(srcdir)/zapfdr.sed \
          `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$@
 
@@ -248,13 +249,13 @@ symbolmap: $(TEXTMAP) $(srcdir)/symbolchars
        cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
 
 clean:
-       rm -f symbolmap symbol.afm
+       $(RM) symbolmap symbol.afm
 
 realclean: clean
-       rm -f $(FONTS)
+       $(RM) $(FONTS)
 
 extraclean: realclean
-       rm -f core *~ "#*"
+       $(RM) core *~ "#*"
 
 .PHONY: all clean realclean extraclean
 
diff --git a/font/devutf8/Makefile.sub b/font/devutf8/Makefile.sub
index 391cb43..4f2da52 100644
--- a/font/devutf8/Makefile.sub
+++ b/font/devutf8/Makefile.sub
@@ -2,10 +2,7 @@
 #
 # File position: <groff-source>/font/devutf8/Makefile.sub
 #
-# Copyright (C) 2014
-#   Free Software Foundation, Inc.
-#
-# Last update: 2 Sep 2014
+# Copyright (C) 2014 Free Software Foundation, Inc.
 #
 # This file is part of `font utf8' which is part of `groff'.
 #
@@ -34,9 +31,11 @@ RES=240
 CPI=10
 LPI=6
 
+RM=rm -f
+
 $(FONTS): R.proto
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @charwidth=`expr $(RES) / $(CPI)` ; \
         sed -e "s/^name [A-Z]*$$/name $@/" \
             -e \
diff --git a/src/devices/gropdf/Makefile.sub b/src/devices/gropdf/Makefile.sub
index 0c59a04..d3c868d 100644
--- a/src/devices/gropdf/Makefile.sub
+++ b/src/devices/gropdf/Makefile.sub
@@ -35,11 +35,13 @@ MOSTLYCLEANADD=\
   pdfmom \
   $(MAN1)
 
+RM=rm -f
+
 all: gropdf pdfmom
 
 
 gropdf: gropdf.pl $(SH_DEPS_SED_SCRIPT)
-       rm -f $@
+       $(RM) $@
        sed -f $(SH_DEPS_SED_SCRIPT) \
            -e "s|@VERSION@|$(version)$(revision)|" \
            -e "s|@PERL@|$(PERL)|" \
@@ -48,7 +50,7 @@ gropdf: gropdf.pl $(SH_DEPS_SED_SCRIPT)
        chmod +x $@
 
 pdfmom: pdfmom.pl $(SH_DEPS_SED_SCRIPT)
-       rm -f $@
+       $(RM) $@
        sed -f $(SH_DEPS_SED_SCRIPT) \
            -e "s|@VERSION@|$(version)$(revision)|" \
            -e "s|@PERL@|$(PERL)|" $(srcdir)/pdfmom.pl >$@
@@ -57,12 +59,12 @@ pdfmom: pdfmom.pl $(SH_DEPS_SED_SCRIPT)
 install_data:
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
        for f in $(CMDFILES); do \
-         rm -f $(DESTDIR)$(bindir)/$$f; \
+         $(RM) $(DESTDIR)$(bindir)/$$f; \
          $(INSTALL_SCRIPT) $$f $(DESTDIR)$(bindir)/$$f; \
        done
 
 uninstall_sub:
-       -for f in $(CMDFILES); do rm -f $(DESTDIR)$(bindir)/$$f; done
+       -for f in $(CMDFILES); do $(RM) $(DESTDIR)$(bindir)/$$f; done
 
 ########################################################################
 # Emacs settings
diff --git a/src/devices/xditview/Makefile.sub 
b/src/devices/xditview/Makefile.sub
index c2ffa29..4bc7b50 100644
--- a/src/devices/xditview/Makefile.sub
+++ b/src/devices/xditview/Makefile.sub
@@ -2,10 +2,7 @@
 #
 # File position: <groff-source>/src/devices/xditview/Makefile.sub
 #
-# Copyright (C) 2014
-#   Free Software Foundation, Inc.
-#
-# Last update: 2 Sep 2014
+# Copyright (C) 2014 Free Software Foundation, Inc.
 #
 # This file is part of `font utf8' which is part of `groff'.
 #
@@ -55,6 +52,7 @@ HDRS=\
   $(srcdir)/DviP.h \
   $(srcdir)/Menu.h
 GENHDRS=GXditview-ad.h
+RM=rm -f
 
 all depend: $(GENHDRS)
 
@@ -79,8 +77,8 @@ install_data: $(srcdir)/GXditview.ad 
$(srcdir)/GXditview-color.ad
          $(DESTDIR)$(appresdir)/GXditview-color
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(appresdir)/GXditview
-       rm -f $(DESTDIR)$(appresdir)/GXditview-color
+       $(RM) $(DESTDIR)$(appresdir)/GXditview
+       $(RM) $(DESTDIR)$(appresdir)/GXditview-color
 
 ########################################################################
 # Emacs settings
diff --git a/src/libs/libgroff/Makefile.sub b/src/libs/libgroff/Makefile.sub
index 80a239c..840d993 100644
--- a/src/libs/libgroff/Makefile.sub
+++ b/src/libs/libgroff/Makefile.sub
@@ -137,6 +137,7 @@ CSRCS=\
   $(srcdir)/../snprintf/snprintf.c
 GENSRCS=\
   version.cpp
+RM=rm -f
 
 src_version=`cat $(top_srcdir)/VERSION`
 src_revision=`cat $(top_srcdir)/REVISION`
@@ -183,14 +184,14 @@ install_charset_data:
            > $(DESTDIR)$(libdir)/t-charset.alias; \
          $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
            $(DESTDIR)$(libdir)/charset.alias; \
-         rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
+         $(RM) $(DESTDIR)$(libdir)/t-charset.alias; \
        else \
          if test $(GLIBC21) = no; then \
            sed -f ref-add.sed charset.alias \
              > $(DESTDIR)$(libdir)/t-charset.alias; \
            $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
              $(DESTDIR)$(libdir)/charset.alias; \
-           rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
+           $(RM) $(DESTDIR)$(libdir)/t-charset.alias; \
          fi; \
        fi
 
@@ -201,17 +202,17 @@ uninstall_charset_data:
            > $(DESTDIR)$(libdir)/t-charset.alias; \
          if grep '^# Packages using this file: $$' \
                  $(DESTDIR)$(libdir)/t-charset.alias > /dev/null; then \
-           rm -f $(DESTDIR)$(libdir)/charset.alias; \
+           $(RM) $(DESTDIR)$(libdir)/charset.alias; \
          else \
            $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
              $(DESTDIR)$(libdir)/charset.alias; \
          fi; \
-         rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
+         $(RM) $(DESTDIR)$(libdir)/t-charset.alias; \
        fi
 
 clean: clean_charset
 clean_charset:
-       rm -f charset.alias ref-add.sed ref-del.sed
+       $(RM) charset.alias ref-add.sed ref-del.sed
 
 ########################################################################
 # Emacs settings
diff --git a/src/preproc/eqn/Makefile.sub b/src/preproc/eqn/Makefile.sub
index ca89bfa..fc82b3a 100644
--- a/src/preproc/eqn/Makefile.sub
+++ b/src/preproc/eqn/Makefile.sub
@@ -66,22 +66,23 @@ YTABC=eqn.cpp
 YTABH=eqn_tab.h
 NAMEPREFIX=$(g)
 MOSTLYCLEANADD=neqn
+RM=rm -f
 
 all: neqn
 
 neqn: neqn.sh $(SH_DEPS_SED_SCRIPT)
-       rm -f $@
+       $(RM) $@
        sed -e 's/@g@/$(g)/g' \
            -f $(SH_DEPS_SED_SCRIPT) \
            -e $(SH_SCRIPT_SED_CMD) $(srcdir)/neqn.sh >$@
        chmod +x $@
 
 install_data: neqn
-       rm -f $(DESTDIR)$(bindir)/$(NAMEPREFIX)neqn
+       $(RM) $(DESTDIR)$(bindir)/$(NAMEPREFIX)neqn
        $(INSTALL_SCRIPT) neqn $(DESTDIR)$(bindir)/$(NAMEPREFIX)neqn
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/$(NAMEPREFIX)neqn
+       $(RM) $(DESTDIR)$(bindir)/$(NAMEPREFIX)neqn
 
 ########################################################################
 # Emacs settings
diff --git a/src/preproc/refer/Makefile.sub b/src/preproc/refer/Makefile.sub
index 835abeb..b87dcc4 100644
--- a/src/preproc/refer/Makefile.sub
+++ b/src/preproc/refer/Makefile.sub
@@ -53,7 +53,7 @@ install_data: refer
 
 .PHONY: uninstall_data
 uninstall_sub:
-       -rmdir $(DESTDIR)$(referdir)
+       -test -d $(DESTDIR)$(referdir) && rmdir $(DESTDIR)$(referdir)
 
 
 ########################################################################
diff --git a/src/roff/groff/Makefile.sub b/src/roff/groff/Makefile.sub
index be7067a..795ac9c 100644
--- a/src/roff/groff/Makefile.sub
+++ b/src/roff/groff/Makefile.sub
@@ -37,6 +37,8 @@ GROFF_OPTS_OUTPUT=\
 
 MOSTLYCLEANADD=groff_opts.tmp $(GROFF_OPTS_OUTPUT)
 
+RM=rm -f
+
 all: $(srcdir)/groff.cpp groff_opts.tmp $(GROFF_OPTS_OUTPUT)
 
 groff_opts.tmp: $(srcdir)/groff.cpp
@@ -50,7 +52,7 @@ groff_opts_no_arg.txt: groff_opts.tmp
        @cat $@
 
 groff_opts_with_arg.txt: groff_opts_no_arg.txt
-       @rm -f $@
+       @(RM) $@
        @sed "s/[`cat $?`:]//g" groff_opts.tmp > $@
        @echo -n 'with arg: '
        @cat $@
@@ -59,13 +61,13 @@ install_data: $(GROFF_OPTS_OUTPUT)
        -test -d $(DESTDIR)$(libprogramdir) \
          || $(mkinstalldirs) $(DESTDIR)$(libprogramdir)
        for f in  $(GROFF_OPTS_OUTPUT); do \
-         rm -f $(DESTDIR)$(libprogramdir)/$$f; \
+         $(RM) $(DESTDIR)$(libprogramdir)/$$f; \
          $(INSTALL_SCRIPT) $$f $(DESTDIR)$(libprogramdir); \
        done
 
 uninstall_sub:
        -for f in $(GROFF_OPTS_OUTPUT); do \
-         rm -f $(DESTDIR)$(libprogramdir)/$$f;\
+         $(RM) $(DESTDIR)$(libprogramdir)/$$f;\
        done
 # XXX This will be removed by `uninstall_dirs' in `$(top_srcdir)/Makefile.in'
 # XXX (And only from there it is successful on an empty directory)
diff --git a/src/roff/nroff/Makefile.sub b/src/roff/nroff/Makefile.sub
index 473c4c7..2768bba 100644
--- a/src/roff/nroff/Makefile.sub
+++ b/src/roff/nroff/Makefile.sub
@@ -25,11 +25,12 @@
 MAN1=nroff.n
 NAMEPREFIX=$(g)
 MOSTLYCLEANADD=nroff
+RM=rm -f
 
 all: nroff
 
 nroff: nroff.sh $(SH_DEPS_SED_SCRIPT)
-       rm -f $@
+       $(RM) $@
        sed -f $(SH_DEPS_SED_SCRIPT) \
            -e $(SH_SCRIPT_SED_CMD) \
            -e "s|@VERSION@|$(version)$(revision)|" $(srcdir)/nroff.sh >$@
@@ -37,11 +38,11 @@ nroff: nroff.sh $(SH_DEPS_SED_SCRIPT)
 
 install_data: nroff
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/$(NAMEPREFIX)nroff
+       $(RM) $(DESTDIR)$(bindir)/$(NAMEPREFIX)nroff
        $(INSTALL_SCRIPT) nroff $(DESTDIR)$(bindir)/$(NAMEPREFIX)nroff
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/$(NAMEPREFIX)nroff
+       $(RM) $(DESTDIR)$(bindir)/$(NAMEPREFIX)nroff
 
 ########################################################################
 # Emacs settings
diff --git a/src/roff/troff/Makefile.sub b/src/roff/troff/Makefile.sub
index e3b09a1..b8298bf 100644
--- a/src/roff/troff/Makefile.sub
+++ b/src/roff/troff/Makefile.sub
@@ -61,10 +61,11 @@ HDRS=\
   $(srcdir)/troff.h
 GENSRCS=majorminor.cpp
 NAMEPREFIX=$(g)
+RM=rm -f
 
 majorminor.cpp: $(top_srcdir)/VERSION $(top_srcdir)/REVISION
        @echo Making $@
-       @rm -f $@
+       @$(RM) $@
        @echo const char \*major_version = \
          \"`sed -e 's/^\([^.]*\)\..*$$/\1/' $(top_srcdir)/VERSION`\"\; >$@
        @echo const char \*minor_version = \
diff --git a/src/utils/afmtodit/Makefile.sub b/src/utils/afmtodit/Makefile.sub
index 1f26f26..ca6c91e 100644
--- a/src/utils/afmtodit/Makefile.sub
+++ b/src/utils/afmtodit/Makefile.sub
@@ -23,6 +23,7 @@
 
 MAN1=afmtodit.n
 MOSTLYCLEANADD=afmtodit
+RM=rm -f
 
 all: afmtodit
 
@@ -45,11 +46,11 @@ afmtodit: afmtodit.pl afmtodit.tables
 
 install_data: afmtodit
        -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
-       rm -f $(DESTDIR)$(bindir)/afmtodit
+       $(RM) $(DESTDIR)$(bindir)/afmtodit
        $(INSTALL_SCRIPT) afmtodit $(DESTDIR)$(bindir)/afmtodit
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(bindir)/afmtodit
+       $(RM) $(DESTDIR)$(bindir)/afmtodit
 
 ########################################################################
 # Emacs settings
diff --git a/src/utils/indxbib/Makefile.sub b/src/utils/indxbib/Makefile.sub
index e755d58..466f627 100644
--- a/src/utils/indxbib/Makefile.sub
+++ b/src/utils/indxbib/Makefile.sub
@@ -34,6 +34,7 @@ CCSRCS=\
 CSRCS=\
   $(srcdir)/signal.c
 NAMEPREFIX=$(g)
+RM=rm -f
 
 install_data: $(srcdir)/eign
        -test -d $(DESTDIR)$(datadir) \
@@ -43,17 +44,17 @@ install_data: $(srcdir)/eign
        -test -d $(DESTDIR)$(datasubdir) \
          || $(mkinstalldirs) $(DESTDIR)$(datasubdir)
        if test -f /usr/lib/eign; then \
-         rm -f $(DESTDIR)$(common_words_file); \
+         $(MK) $(DESTDIR)$(common_words_file); \
          ln -s /usr/lib/eign $(DESTDIR)$(common_words_file) 2>/dev/null \
            || ln /usr/lib/eign $(DESTDIR)$(common_words_file) 2>/dev/null \
            || cp /usr/lib/eign $(DESTDIR)$(common_words_file); \
        else \
-         rm -f $(DESTDIR)$(common_words_file); \
+         $(RM) $(DESTDIR)$(common_words_file); \
          $(INSTALL_DATA) $(srcdir)/eign $(DESTDIR)$(common_words_file); \
        fi
 
 uninstall_sub:
-       rm -f $(DESTDIR)$(common_words_file)
+       $(RM) $(DESTDIR)$(common_words_file)
 
 ########################################################################
 # Emacs settings
diff --git a/src/utils/xtotroff/Makefile.in b/src/utils/xtotroff/Makefile.in
index dfd4cd9..bcc8229 100644
--- a/src/utils/xtotroff/Makefile.in
+++ b/src/utils/xtotroff/Makefile.in
@@ -28,6 +28,8 @@ mkinstalldirs=$(SHELL) $(top_srcdir)/mkinstalldirs
 xtotroff=$(builddir)/xtotroff
 DPIS=75 100
 
+RM=rm -f
+
 all:
        @echo "Say \`make fonts' to generate fonts for gxditview."
 
@@ -37,23 +39,23 @@ fonts: $(xtotroff) $(driverdir)/DESC.in $(driverdir)/FontMap
          echo Making devX$$dpi; \
          test -d $(devdir)/devX$$dpi \
            || $(mkinstalldirs) $(devdir)/devX$$dpi; \
-         rm -f $(devdir)/devX$$dpi/DESC; \
+         $(RM) $(devdir)/devX$$dpi/DESC; \
          sed -e "s/res 75/res $$dpi/" $(driverdir)/DESC.in \
            >$(devdir)/devX$$dpi/DESC; \
          (cd $(devdir)/devX$$dpi; \
-          rm -f Makefile.sub; \
+          $(RM) Makefile.sub; \
           echo DEV=X$$dpi >Makefile.sub; \
           echo DEVFILES=DESC $$fonts >>Makefile.sub; \
           $(xtotroff) -r $$dpi -s 10 $(driverdir)/FontMap); \
          echo Making devX$$dpi-12; \
          test -d $(devdir)/devX$$dpi-12 \
            || $(mkinstalldirs) $(devdir)/devX$$dpi-12; \
-         rm -f $(devdir)/devX$$dpi-12/DESC; \
+         $(RM) $(devdir)/devX$$dpi-12/DESC; \
          sed -e "s/res 75/res $$dpi/" \
              -e 's/unitwidth 10/unitwidth 12/' $(driverdir)/DESC.in \
            >$(devdir)/devX$$dpi-12/DESC; \
          (cd $(devdir)/devX$$dpi-12; \
-          rm -f Makefile.sub; \
+          $(RM) Makefile.sub; \
           echo DEV=X$$dpi-12 >Makefile.sub; \
           echo DEVFILES=DESC $$fonts >>Makefile.sub; \
           $(xtotroff) -r $$dpi -s 12 $(driverdir)/FontMap); \
diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
index 1f1b2d7..1506232 100644
--- a/tmac/Makefile.sub
+++ b/tmac/Makefile.sub
@@ -83,6 +83,8 @@ tmac_wrap=
 sys_tmac_prefix=
 pnmtops_nosetpage="pnmtops"
 
+RM=rm -f
+
 all: stamp-strip stamp-wrap stamp-sed
 
 install_data: $(NORMALFILES) $(SPECIALFILES) man.local \
@@ -99,24 +101,24 @@ install_data: $(NORMALFILES) $(SPECIALFILES) man.local \
          done; \
        fi
        for f in $(NORMALFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(tmacdir)/$$f; \
        done
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
        $(INSTALL_DATA) $(srcdir)/s.tmac \
          $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
        $(INSTALL_DATA) $(srcdir)/an.tmac \
          $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
-       rm -f $(DESTDIR)$(tmacdir)/www.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/www.tmac
        $(INSTALL_DATA) www.tmac-sed $(DESTDIR)$(tmacdir)/www.tmac
        for f in $(STRIPFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
          $(INSTALL_DATA) $$f-s $(DESTDIR)$(tmacdir)/$$f; \
        done
        -test -d $(DESTDIR)$(mdocdir) || $(mkinstalldirs) $(DESTDIR)$(mdocdir)
        for f in $(MDOCFILES); do \
-         rm -f $(DESTDIR)$(mdocdir)/$$f; \
+         $(RM) $(DESTDIR)$(mdocdir)/$$f; \
          $(INSTALL_DATA) $$f-s $(DESTDIR)$(mdocdir)/$$f; \
        done
        -test -f $(DESTDIR)$(localtmacdir)/man.local \
@@ -127,7 +129,7 @@ install_data: $(NORMALFILES) $(SPECIALFILES) man.local \
 
 stamp-strip: $(STRIPFILES) $(MDOCFILES) mdoc.local
        for f in $(STRIPFILES) $(MDOCFILES) mdoc.local; do \
-         rm -f $$f-s; \
+         $(RM) $$f-s; \
          sed -f $(srcdir)/strip.sed $(srcdir)/$$f >$$f-s; \
        done
        touch $@
@@ -135,7 +137,7 @@ stamp-strip: $(STRIPFILES) $(MDOCFILES) mdoc.local
 stamp-wrap:
        if test -n "$(tmac_wrap)"; then \
          for m in ""$(tmac_wrap); do \
-           rm -f $$m-wrap; \
+           $(RM) $$m-wrap; \
            if test "$$m" = an; then \
              echo .do mso andoc.tmac >>$$m-wrap; \
            fi; \
@@ -153,25 +155,25 @@ stamp-sed: www.tmac
 uninstall_sub:
        -if test -n "$(tmac_wrap)"; then \
          for m in ""$(tmac_wrap); do \
-           rm -f $(DESTDIR)$(systemtmacdir)/$$m.tmac; \
+           $(RM) $(DESTDIR)$(systemtmacdir)/$$m.tmac; \
          done; \
        fi
        -for f in $(NORMALFILES) $(STRIPFILES); do \
-         rm -f $(DESTDIR)$(tmacdir)/$$f; \
+         $(RM) $(DESTDIR)$(tmacdir)/$$f; \
        done
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
-       rm -f $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
-       rm -f $(DESTDIR)$(tmacdir)/www.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
+       $(RM) $(DESTDIR)$(tmacdir)/www.tmac
        -if cmp -s $(DESTDIR)$(localtmacdir)/man.local \
                   $(srcdir)/man.local; then \
-         rm -f $(DESTDIR)$(localtmacdir)/man.local; \
+         $(RM) $(DESTDIR)$(localtmacdir)/man.local; \
        fi
        -if cmp -s $(DESTDIR)$(localtmacdir)/mdoc.local \
                   $(srcdir)/mdoc.local; then \
-         rm -f $(DESTDIR)$(localtmacdir)/mdoc.local; \
+         $(RM) $(DESTDIR)$(localtmacdir)/mdoc.local; \
        fi
-       -for f in $(MDOCFILES); do rm -f $(DESTDIR)$(mdocdir)/$$f; done
-       -rmdir $(DESTDIR)$(mdocdir)
+       -for f in $(MDOCFILES); do $(RM) $(DESTDIR)$(mdocdir)/$$f; done
+       -test -d $(DESTDIR)$(mdocdir) && rmdir $(DESTDIR)$(mdocdir)
 
 ########################################################################
 # Emacs settings



reply via email to

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