summaryrefslogtreecommitdiff
path: root/build-aux/Makefile.once.head
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2017-01-15 01:44:37 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2017-01-15 01:44:37 -0500
commitcbee7a272b1f61843d596da913093acf77506481 (patch)
treee53b9a9a6f0a275f469c3c2c98c5d540a04a4884 /build-aux/Makefile.once.head
parent5eb6e559d6665f4210be95fe46f1d0a6007dd734 (diff)
Tidy the gnustuff (and fork off gnudoc).
Diffstat (limited to 'build-aux/Makefile.once.head')
-rw-r--r--build-aux/Makefile.once.head/10-gnudoc.mk53
-rw-r--r--build-aux/Makefile.once.head/10-gnustuff.mk56
-rw-r--r--build-aux/Makefile.once.head/11-gnustuff.mk34
3 files changed, 109 insertions, 34 deletions
diff --git a/build-aux/Makefile.once.head/10-gnudoc.mk b/build-aux/Makefile.once.head/10-gnudoc.mk
new file mode 100644
index 0000000..a53c89f
--- /dev/null
+++ b/build-aux/Makefile.once.head/10-gnudoc.mk
@@ -0,0 +1,53 @@
+# 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/>.
+
+mod.gnudoc.description = GNU Info page support
+mod.gnudoc.depends += files nested gnuconf
+define mod.gnudoc.doc
+# User variables (in addition to gnuconf):
+# - `TEXI2HTML ?= makeinfo --html`
+# - `TEXI2PDF ?= texi2pdf`
+# - `TEXI2PS ?= texi2dvi --ps`
+# Inputs:
+# - Directory variable : `gnudoc.docs ?=`
+# Outputs:
+# - Global variable : `files.groups += html dvi pdf ps`
+# - Global variable : `nested.targets += info`
+# - Directory variable : `files.src.gen`
+# - Directory variable : `files.out.{dvi,html,pdf,ps}`
+# - Directory variable : `files.sys.{dvi,html,pdf,ps,all}`
+# - .PHONY target : `$(outdir)/info`
+# - .PHONY target : `$(outdir)/install` (see below)
+# - Target : `$(outdir)/%.info`
+# - Target : `$(outdir)/%.dvi`
+# - target : `$(outdir)/%.html`
+# - target : `$(outdir)/%.pdf`
+# - Target : `$(outdir)/%.ps`
+#
+# The The `gnudoc
+
+# The module counts on the `$(outdir)/install` target being defined by
+# `files`, but not having a rule that executes once the dependencies
+# have been taken care of; it adds a "post-install" rule to add the
+# info files to the index.
+endef
+mod.gnudoc.doc := $(value mod.gnudoc.doc)
+
+TEXI2HTML ?= makeinfo --html
+TEXI2PDF ?= texi2pdf
+TEXI2PS ?= texi2dvi --ps
+
+files.groups += html dvi pdf ps
+nested.targets += info
diff --git a/build-aux/Makefile.once.head/10-gnustuff.mk b/build-aux/Makefile.once.head/10-gnustuff.mk
new file mode 100644
index 0000000..759e48a
--- /dev/null
+++ b/build-aux/Makefile.once.head/10-gnustuff.mk
@@ -0,0 +1,56 @@
+# 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/>.
+
+mod.gnustuff.description = Misc parts of the GNU Coding Standards
+mod.gnustuff.depends += files nested
+define mod.gnustuff.doc
+# User variables:
+# - `STRIP ?= strip`
+# - `MKDIR_P ?= mkdir -p`
+# Inputs:
+# - Global variable : `gnustuff.program_dirs ?= $(bindir) $(sbindir) $(libexecdir)`
+# - Global variable : `gnustuff.data_dirs ?= <every variable from gnuconf ending in `dir`
+# that isn't bindir, sbindir, or libexecdir>
+# - Global variable : `gnustuff.dirs ?= $(gnustuff.program_dirs) $(gnustuff.data_dirs)
+# Outputs:
+# - Global variable : `nested.targets += install-strip`
+# - .PHONY target : `$(outdir)/install-strip`
+#
+# gnustuff.info_docs:
+# The list of texinfo documents in the current directory, without
+# the `.texi` suffix.
+#
+# gnustuff.program_dirs:
+# Directories to use $(INSTALL_PROGRAM) for inserting files into.
+#
+# gnustuff.data_dirs:
+# Directories to use $(INSTALL_DATA) for inserting files into.
+#
+# gnustuff.dirs:
+# Directories to create
+endef
+mod.gnustuff.doc := $(value mod.gnustuff.doc)
+
+STRIP ?= strip
+MKDIR_P ?= mkdir -p
+
+gnustuff.program_dirs ?= $(bindir) $(sbindir) $(libexecdir)
+gnustuff.data_dirs ?= \
+ $(datarootdir) $(datadir) $(sysconfdir) $(sharedstatedir) $(localstatedir) $(runstatedir) \
+ $(includedir) $(oldincludedir) $(docdir) $(infodir) $(htmldir) $(dvidir) $(pdfdir) $(psdir) $(libdir) $(lispdir) $(localedir) \
+ $(mandir) $(man1dir) $(man2dir) $(man3dir) $(man4dir) $(man5dir) $(man6dir) $(man7dir) $(man8dir)
+gnustuff.dirs += $(gnu.program_dirs) $(gnu.data_dirs)
+
+nested.targets += install-strip
diff --git a/build-aux/Makefile.once.head/11-gnustuff.mk b/build-aux/Makefile.once.head/11-gnustuff.mk
deleted file mode 100644
index 800f6d2..0000000
--- a/build-aux/Makefile.once.head/11-gnustuff.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2016 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/>.
-
-STRIP ?= strip
-TEXI2HTML ?= makeinfo --html
-TEXI2PDF ?= texi2pdf
-TEXI2PS ?= texi2dvi --ps
-MKDIR_P ?= mkdir -p
-
-gnustuff.program_dirs += $(bindir) $(sbindir) $(libexecdir)
-gnustuff.data_dirs += $(datarootdir) $(datadir) $(sysconfdir) $(sharedstatedir) $(localstatedir) $(runstatedir)
-gnustuff.data_dirs += $(includedir) $(oldincludedir) $(docdir) $(infodir) $(htmldir) $(dvidir) $(pdfdir) $(psdir) $(libdir) $(lispdir) $(localedir)
-gnustuff.data_dirs += $(mandir) $(man1dir) $(man2dir) $(man3dir) $(man4dir) $(man5dir) $(man6dir) $(man7dir) $(man8dir)
-
-gnustuff.info_docs ?=
-std.dirlocal += gnustuff.info_docs
-
-gnustuff.dirs += $(gnu.program_dirs) $(gnu.data_dirs)
-
-at.phony += install-html install-dvi install-pdf install-ps
-at.phony += info html dvi pdf ps
-at.phony += install-strip