Sync GNUmakefile with gnulib.
authorEric Blake <ebb9@byu.net>
Thu, 20 Mar 2008 13:19:56 +0000 (07:19 -0600)
committerJim Meyering <meyering@redhat.com>
Thu, 20 Mar 2008 13:52:55 +0000 (14:52 +0100)
* GNUmakefile (Makefile.cfg): Rename...
(cfg.mk): ...to this, and make optional.
(GNUmakefile.cfg): Delete, redundant with cfg.mk.
(Makefile.maint): Rename...
(maint.mk): ...to this.
(all) [!_have-Makefile]: Rename...
(abort-due-to-no-makefile): ...to this, and invoke via
.DEFAULT_GOAL to pick up all targets.
* Makefile.cfg: Rename...
* cfg.mk: ...to this.
* Makefile.maint: Rename...
* maint.mk ...to this.
(ME): Reflect rename.
(makefile-check, m4-check, author_mark_check, msg): Use $(ME)
rather than hard-coded name.
* Makefile.am (EXTRA_DIST): Distribute renamed files.
* .x-sc_file_system: Remove Makefile.maint along with others. No longer needed.
* .x-sc_obsolete_symbols: Likewise.
* .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names.
* TODO: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
.x-sc_file_system
.x-sc_obsolete_symbols
.x-sc_prohibit_atoi_atof
GNUmakefile
Makefile.am
TODO
cfg.mk [moved from Makefile.cfg with 95% similarity]
maint.mk [moved from Makefile.maint with 98% similarity]

index a2e3887..e997182 100644 (file)
@@ -1,8 +1,5 @@
 ChangeLog
-Makefile.maint
 NEWS
-config-log
-po/
 src/df.c
 src/stat.c
 tests/misc/df-P
index a2fe831..56631ab 100644 (file)
@@ -1,6 +1 @@
-ChangeLog*
-Makefile.maint
-config.hin
-configure
-m4/jm-macros.m4
-src/system.h
+ChangeLog
index 40feeb7..5aa76c1 100644 (file)
@@ -1,11 +1,6 @@
-^configure$
 ChangeLog
 ^TODO$
-^lib/mktime\.c$
-^lib/getloadavg\.c$
-^lib/euidaccess\.c$
 ^lib/euidaccess-stat\.c$
-^lib/group-member\.c$
-^Makefile\.maint$
+^maint\.mk$
 ^doc/coreutils.texi$
 ^tests/misc/stty-invalid$
index 8bbd6c8..fac11d3 100644 (file)
@@ -1,11 +1,12 @@
 # Having a separate GNUmakefile lets me `include' the dynamically
-# generated rules created via Makefile.maint as well as Makefile.maint itself.
+# generated rules created via cfg.mk (package-local configuration)
+# as well as maint.mk (generic maintainer rules).
 # This makefile is used only if you run GNU Make.
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
 # Copyright (C) 2001, 2003, 2006-2008 Free Software Foundation, Inc.
-#
+
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
@@ -29,10 +30,9 @@ else
 SHELL = sh
 endif
 
-_have-Makefile := $(shell test -f Makefile && echo yes)
-
 # If the user runs GNU make but has not yet run ./configure,
 # give them a diagnostic.
+_have-Makefile := $(shell test -f Makefile && echo yes)
 ifeq ($(_have-Makefile),yes)
 
 # Make tar archive easier to reproduce.
@@ -41,7 +41,8 @@ export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
 include Makefile
 
 # Some projects override e.g., _autoreconf here.
--include $(srcdir)/GNUmakefile.cfg
+-include $(srcdir)/cfg.mk
+include $(srcdir)/maint.mk
 
 _autoreconf ?= autoreconf
 
@@ -60,18 +61,19 @@ ifeq (0,$(MAKELEVEL))
   endif
 endif
 
-include $(srcdir)/Makefile.cfg
-include $(srcdir)/Makefile.maint
-
 else
 
-all:
+.DEFAULT_GOAL := abort-due-to-no-makefile
+
+# The package can override .DEFAULT_GOAL to run actions like autoreconf.
+-include ./cfg.mk
+include ./maint.mk
+
+abort-due-to-no-makefile:
        @echo There seems to be no Makefile in this directory.   1>&2
        @echo "You must run ./configure before running \`make'." 1>&2
        @exit 1
 
-check dist distcheck install: all
-
 endif
 
 # Tell version 3.79 and up of GNU make to not build goals in this
index 2862940..e7fc118 100644 (file)
@@ -16,7 +16,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 SUBDIRS = lib src doc man po tests gnulib-tests
-EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
+EXTRA_DIST = cfg.mk maint.mk GNUmakefile \
   .prev-version THANKS-to-translators THANKStt.in \
   .version \
   .vg-suppressions \
diff --git a/TODO b/TODO
index 4e0b298..86320b9 100644 (file)
--- a/TODO
+++ b/TODO
@@ -142,11 +142,11 @@ Add a distcheck-time test to ensure that every distributed
 file is either read-only(indicating generated) or is
 version-controlled and up to date.
 
-remove `%s' notation (now that they're all gone, add a Makefile.maint sc_
+remove `%s' notation (now that they're all gone, add a maint.mk sc_
     rule to ensure no new ones are added):
   grep -E "\`%.{,4}s'" src/*.c
 
-remove all uses of the `register' keyword: Done.  add a Makefile.maint rule
+remove all uses of the `register' keyword: Done.  add a maint.mk rule
   for this, too.
 
 remove or adjust chown's --changes option, since it
similarity index 95%
rename from Makefile.cfg
rename to cfg.mk
index 7ade521..49c2c48 100644 (file)
+++ b/cfg.mk
@@ -1,4 +1,4 @@
-# Customize Makefile.maint.                           -*- makefile -*-
+# Customize maint.mk                           -*- makefile -*-
 # Copyright (C) 2003-2008 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
similarity index 98%
rename from Makefile.maint
rename to maint.mk
index c866cba..9f49b6e 100644 (file)
+++ b/maint.mk
@@ -19,7 +19,7 @@
 
 # This is reported not to work with make-3.79.1
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-ME := Makefile.maint
+ME := maint.mk
 
 # Do not save the original name or timestamp in the .tar.gz file.
 # Use --rsyncable if available.
@@ -428,7 +428,7 @@ check-AUTHORS:
 # to emit a definition for each substituted variable.
 makefile-check:
        grep -nE '@[A-Z_0-9]+@' `find . -name Makefile.am` \
-         && { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || :
+         && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-date-check: NEWS
        today=`date +%Y-%m-%d`;                                         \
@@ -451,7 +451,7 @@ changelog-check:
 
 m4-check:
        @grep -n 'AC_DEFUN([^[]' m4/*.m4 \
-         && { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
+         && { echo '$(ME): quote the first arg to AC_DEFUN' 1>&2; \
               exit 1; } || :
 
 # Verify that all source files using _() are listed in po/POTFILES.in.
@@ -484,7 +484,7 @@ po-check:
 # gettext recognizes it as a string requiring translation.
 author_mark_check:
        @grep -n '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
-         { echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
+         { echo '$(ME): enclose the above strings in N_ (...)' 1>&2; \
            exit 1; } || :
 
 # Sometimes it is useful to change the PATH environment variable
@@ -493,7 +493,7 @@ author_mark_check:
 # It'd be better to use `find -print0 ...|xargs -0 ...', but less portable,
 # and there probably aren't many projects with so many Makefile.am files
 # that we'd have to worry about limits on command line length.
-msg = 'Makefile.maint: Do not use `:'\'' above; use @PATH_SEPARATOR@ instead'
+msg = '$(ME): Do not use `:'\'' above; use @PATH_SEPARATOR@ instead'
 makefile_path_separator_check:
        @grep -n 'PATH=.*:' `find $(srcdir) -name Makefile.am` \
          && { echo $(msg) 1>&2; exit 1; } || :