Newer
Older
# 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.
# Remind user when they are using GNUmakefile:
ifeq ($(lastword $(MAKEFILE_LIST)),GNUmakefile)
$(info *** NOTE: GNUmakefile in use. ***)
endif
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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:
git clean -dxf -e GNUmakefile
rm -fr tests/run-test-suite
git worktree prune