diff options
author | Ingy döt Net <ingy@ingy.net> | 2017-01-01 16:49:18 -0800 |
---|---|---|
committer | Ingy döt Net <ingy@ingy.net> | 2017-01-02 10:29:32 -0800 |
commit | de19e70b6d53f7df967b74f6946765e3981a1dfc (patch) | |
tree | de7cdb6549780be0edbae792b875e5fe8fd52897 /.makefile | |
parent | 2fc6dc0885abf9ce0dd7856a4fa1791caaac5920 (diff) | |
download | libyaml-git-de19e70b6d53f7df967b74f6946765e3981a1dfc.tar.gz |
Add a `.makefile` for immediate make targets
We can add various development activities to this alternate Makefile.
If you do this first:
```
ln {.,GNU}makefile
```
then you can use the new targets and the old ones without specifying the
`.makefile` in make commands and without worrying about bootstrap.
ie Before this, to use Makefile targets, you needed to run `./bootstrap`
and `./configure` first. This file will proxy all common Makefile
targets, first making sure that the Makefile exists.
Diffstat (limited to '.makefile')
-rw-r--r-- | .makefile | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/.makefile b/.makefile new file mode 100644 index 0000000..af4625b --- /dev/null +++ b/.makefile @@ -0,0 +1,57 @@ +# 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 |