+# This file is used for common development targets that can be done with
+# needing the cumbersome bootstrapping process.
+#
+# You can use it like this:
+#
+# make -f .makefile indent
+#
+# If you copy or link this file to `GNUmakefile` then you can just do:
+#
+# make indent
+#
+# When copied to `GNUmakefile`, this file is can also be used for bootstrapping
+# Makefile targets. Since GNUmakefile is loaded before Makefile, we do the
+# bootstrapping tasks need to get a Makefile first, then we use the Makefile to
+# make our target.
+
+MAKE_TARGETS := \
+ all \
+ all-am \
+ all-recursive \
+ install \
+ test \
+ test-all \
+ test-suite \
+
+# SOURCE_FILES := $(shell find . | grep '\.c$$')
+SOURCE_FILES := $(shell find tests/run-test-suite | grep '\.c$$')
+ifneq ($(shell which gindent),)
+INDENT := gindent
+else
+INDENT := indent
+endif
+
+#
+# Proxy make targets:
+#
+default: all
+
+# Proxy these targets to the real Makefile, after bootstrapping is necessary.
+$(MAKE_TARGETS): Makefile
+ @make -f $< $@
+
+Makefile: Makefile.in
+ ./configure
+
+Makefile.in:
+ ./bootstrap
+
+#
+# Development make targets:
+#
+indent:
+ $(INDENT) $(SOURCE_FILES)
+
+distclean purge:
+ rm -fr tests/run-test-suite/data
+ git clean -dxf -e GNUmakefile