diff options
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/Makefile.each.tail/10-std.mk | 42 | ||||
-rw-r--r-- | build-aux/Makefile.once.head/10-std.mk | 31 | ||||
-rw-r--r-- | build-aux/Makefile.once.tail/10-std.mk | 16 |
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 |