summaryrefslogtreecommitdiff
path: root/common.mk
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2015-11-07 23:29:42 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-11-07 23:29:42 -0500
commit25cc9644b2d8dae449e5a75559a202acb21b49bd (patch)
treed05c309afc31d884b8e0e55fed691ca65d54b8d9 /common.mk
parentaa17f05b81357cb3c63bee30b361c682ab12205e (diff)
use the separate packages from lukeshu.com, clean up the Makefile
Diffstat (limited to 'common.mk')
-rw-r--r--common.mk71
1 files changed, 71 insertions, 0 deletions
diff --git a/common.mk b/common.mk
new file mode 100644
index 0000000..7fd7964
--- /dev/null
+++ b/common.mk
@@ -0,0 +1,71 @@
+# Copyright 2015 Luke Shumaker
+#
+# This 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 2 of
+# the License, or (at your option) any later version.
+#
+# The GNU General Public License's references to "object code" and
+# "executables" are to be interpreted to also include the output of
+# any document formatting or typesetting system, including
+# intermediate and printed output.
+#
+# This software 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this manual; if not, see
+# <http://www.gnu.org/licenses/>.
+
+rel = $(patsubst $(abspath .)/%,./%,$(abspath $1))
+
+all: build
+.PHONY: all
+
+-include $(addsuffix /Makefile,$(subdirs))
+
+generate: $(generate)
+.PHONY: generate
+
+configure: generate $(configure)
+.PHONY: configure
+
+build: configure $(build)
+.PHONY: build
+
+install: build $(install)
+.PHONY: install
+
+# un-build
+clean:
+ rm -rf -- $(build) $(build_secondary)
+.PHONY: clean
+
+# un-configure
+distclean: clean
+ rm -rf -- $(configure) $(configure_secondary)
+.PHONY: distclean
+
+# un-generate
+maintainer-clean: distclean
+ rm -rf -- $(generate) $(generate_secondary)
+.PHONY: maintainer-clean
+
+# un-install
+uninstall:
+ rm -f -- $(install)
+ rmdir -p -- $(sort $(dir $(install))) 2>/dev/null || true
+.PHONY: uninstall
+
+
+# Now, this is magic. It stores the values of environment variables,
+# so that if you change them in a way that would cause something to be
+# rebuilt, then Make knows.
+.var.%: FORCE
+ $(Q)printf '%s' '$($*)' > .tmp$@ && { cmp -s .tmp$@ $@ && rm -f -- .tmp$@ || mv -Tf .tmp$@ $@; } || { rm -f -- .tmp$@; false; }
+
+.DELETE_ON_ERROR:
+.SECONDARY:
+.PHONY: FORCE