summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/Makefile.each.tail/10-std.mk42
-rw-r--r--build-aux/Makefile.once.head/10-std.mk31
-rw-r--r--build-aux/Makefile.once.tail/10-std.mk16
3 files changed, 89 insertions, 0 deletions
diff --git a/build-aux/Makefile.each.tail/10-std.mk b/build-aux/Makefile.each.tail/10-std.mk
new file mode 100644
index 0000000..ca8497c
--- /dev/null
+++ b/build-aux/Makefile.each.tail/10-std.mk
@@ -0,0 +1,42 @@
+# Copyright (C) 2015-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/>.
+
+# Add some more defaults to the *_files variables
+$(_am)clean_files += $($(_am)gen_files) $($(_am)cfg_files) $($(_am)out_files)
+
+# Make each of the standard variables relative to the correct directory
+$(_am)src_files := $(addprefix $(srcdir)/,$($(_am)src_files))
+$(_am)gen_files := $(addprefix $(srcdir)/,$($(_am)gen_files))
+$(_am)cfg_files := $(addprefix $(outdir)/,$($(_am)cfg_files))
+$(_am)out_files := $(addprefix $(outdir)/,$($(_am)out_files))
+$(_am)sys_files := $(addprefix $(DESTDIR),$($(_am)sys_files))
+$(_am)clean_files := $(addprefix $(outdir)/,$($(_am)clean_files))
+$(_am)slow_files := $(addprefix $(outdir)/,$($(_am)slow_files))
+$(_am)subdirs := $(addprefix $(outdir)/,$($(_am)subdirs))
+
+# Creative targets
+$(outdir)/build : $($(_am)out_files/$(outdir))
+$(outdir)/install : $($(_am)sys_files/$(outdir))
+$(outdir)/installdirs: $(dir $($(_am)sys_files/$(outdir)))
+
+# Destructive targets
+_am_uninstall/$(outdir) = $(_am_sys_files/$(outdir))
+_am_mostlyclean/$(outdir) = $(filter-out $(_am_slow_files/$(outdir)) $(_am_cfg_files/$(outdir)) $(_am_gen_files/$(outdir)) $(_am_src_files/$(outdir)),$(_am_clean_files/$(outdir)))
+_am_clean/$(outdir) = $(filter-out $(_am_cfg_files/$(outdir)) $(_am_gen_files/$(outdir)) $(_am_src_files/$(outdir)),$(_am_clean_files/$(outdir)))
+_am_distclean/$(outdir) = $(filter-out $(_am_gen_files/$(outdir)) $(_am_src_files/$(outdir)),$(_am_clean_files/$(outdir)))
+_am_maintainer-clean/$(outdir) = $(filter-out $(_am_src_files/$(outdir)),$(_am_clean_files/$(outdir)))
+$(addprefix $(outdir)/,uninstall mostlyclean clean distclean maintainer-clean):
+ $(RM) -- $(sort $(_am_$(@F)/$(@D)))
+ $(RMDIRS) $(sort $(dir $(_am_$(@F)/$(@D)))) 2>/dev/null || $(TRUE)
diff --git a/build-aux/Makefile.once.head/10-std.mk b/build-aux/Makefile.once.head/10-std.mk
new file mode 100644
index 0000000..dec850c
--- /dev/null
+++ b/build-aux/Makefile.once.head/10-std.mk
@@ -0,0 +1,31 @@
+# Copyright (C) 2015-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/>.
+
+# Declare the default target
+all: build
+.PHONY: all
+
+# Standard creative PHONY targets
+$(_am)phony += build install installdirs
+# Standard destructive PHONY targets
+$(_am)phony += uninstall mostlyclean clean distclean maintainer-clean
+
+$(_am)dirlocal += $(_am)src_files
+$(_am)dirlocal += $(_am)gen_files
+$(_am)dirlocal += $(_am)cfg_files
+$(_am)dirlocal += $(_am)out_files
+$(_am)dirlocal += $(_am)sys_files
+$(_am)dirlocal += $(_am)clean_files
+$(_am)dirlocal += $(_am)slow_files
diff --git a/build-aux/Makefile.once.tail/10-std.mk b/build-aux/Makefile.once.tail/10-std.mk
new file mode 100644
index 0000000..56c4f2c
--- /dev/null
+++ b/build-aux/Makefile.once.tail/10-std.mk
@@ -0,0 +1,16 @@
+# Copyright (C) 2015-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/>.
+
+.PHONY: noop