From 25cc9644b2d8dae449e5a75559a202acb21b49bd Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 7 Nov 2015 23:29:42 -0500 Subject: use the separate packages from lukeshu.com, clean up the Makefile --- common.mk | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 common.mk (limited to 'common.mk') 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 +# . + +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 -- cgit v1.2.2