summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.mk.in114
1 files changed, 99 insertions, 15 deletions
diff --git a/config.mk.in b/config.mk.in
index ffe7c1c..be95ab4 100644
--- a/config.mk.in
+++ b/config.mk.in
@@ -1,15 +1,38 @@
-# This file is based on §7.2 "Makefile Conventions" of the release of
-# the GNU Coding Standards dated April 13, 2016.
+# Copyright (C) 2016-2017 Luke Shumaker
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This is based on §7.2 "Makefile Conventions" of the July 25, 2016
+# release of the GNU Coding Standards.
+#
+# Grep for '^##' in this file to see which Autoconf macros it depends
+# on.
dist.pkgname = @PACKAGE_TARNAME@
-gnu.pkgname = @PACKAGE_NAME@
+gnuconf.pkgname = @PACKAGE_NAME@
-# AC_PROG_{AWK,GREP,EGREP,FGREP,INSTALL,MKDIR_P,SED}
# 7.2.2: Utilities in Makefiles
# -----------------------------
# It's ok to hard-code these commands in rules, but who wants to
# memorize the list of what's ok?
+
+## AC_PROG_AWK
+## AC_PROG_GREP
+## AC_PROG_EGREP
+## AC_PROG_SED
+
AWK = @AWK@
CAT = cat
CMP = cmp
@@ -38,33 +61,83 @@ TOUCH = touch
TR = tr
TRUE = true
+# 7.2.2: Utilities in Makefiles/7.2.3: Variables for Specifying Commands
+# ----------------------------------------------------------------------
+
+# Standard user-configurable programs.
+#
+# The list of programs here is specified in §7.2.2, but the associated FLAGS
+# variables are specified in §7.2.3. I found it cleaner to list them together.
+
+## AC_PROG_INSTALL # @INSTALL@ @INSTALL_PROGRAM@ @INSTALL_SCRIPT@ @INSTALL_DATA@
+## AC_PROG_LEX # @LEX@ @LEXLIB@
+## AC_PROG_RANLIB
+## AC_PROG_YACC
+## AC_PROG_CC
+#
+# TODO: What causes Autoconf to define @AR@?
+
AR = @AR@
+ARFLAGS =
BISON = bison
+BISONFLAGS =
CC = @CC@
+CFLAGS = @CFLAGS@ # CFLAGS instead of CCFLAGS
FLEX = flex
+FLEXFLAGS =
INSTALL = @INSTALL@
+# There is no INSTALLFLAGS[0]
LD = ld
-LDCONFIG = ldconfig
+LDFLAGS = @LDFLAGS@
+LDCONFIG = ldconfig # TODO[1]
+LDCONFIGFLAGS =
LEX = @LEX@
+LFLAGS = #LFLAGS instead of LEXFLAGS
+#MAKE
MAKEINFO = makeinfo
+MAKEINFOFLAGS =
RANLIB = @RANLIB@
+RANLIBFLAGS =
TEXI2DVI = texi2dvi
+TEXI2DVIFLAGS =
YACC = @YACC@
+YFLAGS = # YFLAGS instead of YACCFLAGS
+
+CPPFLAGS = @CPPFLAGS@
-# 7.2.3 Variables for Specifying Commands
-# ---------------------------------------
+LN_S = @LN_S@
+
+CHGRP = chgrp
+CHGRPFLAGS =
+CHMOD = chmod
+CHMODFLAGS =
+CHOWN = chown
+CHOWNFLAGS =
+MKNOD = mknod
+MKNODFLAGS =
+
+# [0]: There is no INSTALLFLAGS because it would be inconsistent with how the
+# standards otherwise recommend using $(INSTALL); with INSTALL_PROGRAM and
+# INSTALL_DATA; which are specified in a way precluding the use of
+# INSTALLFLAGS. To have the variable, but to ignore it in the common case
+# would be confusing.
+#
+# [1]: The RANLIB and LDCONFIG variables need some extra smarts; §7.2.2 says:
+#
+# > When you use ranlib or ldconfig, you should make sure nothing bad
+# > happens if the system does not have the program in question. Arrange
+# > to ignore an error from that command, and print a message before the
+# > command to tell the user that failure of this command does not mean a
+# > problem. (The Autoconf ‘AC_PROG_RANLIB’ macro can help with this.)
+
+# 7.2.3: Variables for Specifying Commands
+# ----------------------------------------
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
-STRIP = strip
-TEXI2HTML = $(MAKEINFO) --html
-TEXI2PDF = $(TEXI2DVI) --pdf
-TEXI2PS = $(TEXI2DVI) --ps
-MKDIR_P = @MKDIR_P@
-
-# 7.2.5 Variables for Installation Directories
-# --------------------------------------------
+# 7.2.5: Variables for Installation Directories
+# ---------------------------------------------
# Root for the installation
prefix = @prefix@
@@ -112,3 +185,14 @@ man5ext = .5
man6ext = .6
man7ext = .7
man8ext = .8
+
+# 7.2.7: Install Command Categories
+# ---------------------------------
+
+PRE_INSTALL =
+POST_INSTALL =
+NORMAL_INSTALL =
+
+PRE_UNINSTALL =
+POST_UNINSTALL =
+NORMAL_UNINSTALL =