xref: /freebsd/contrib/libyaml/.makefile (revision 0f5c86ddb0257f4b7620f1d8e898289be30b19bf)
1*0f5c86ddSBaptiste Daroussin# This file is used for common development targets that can be done with
2*0f5c86ddSBaptiste Daroussin# needing the cumbersome bootstrapping process.
3*0f5c86ddSBaptiste Daroussin#
4*0f5c86ddSBaptiste Daroussin# You can use it like this:
5*0f5c86ddSBaptiste Daroussin#
6*0f5c86ddSBaptiste Daroussin#   make -f .makefile indent
7*0f5c86ddSBaptiste Daroussin#
8*0f5c86ddSBaptiste Daroussin# If you copy or link this file to `GNUmakefile` then you can just do:
9*0f5c86ddSBaptiste Daroussin#
10*0f5c86ddSBaptiste Daroussin#   make indent
11*0f5c86ddSBaptiste Daroussin#
12*0f5c86ddSBaptiste Daroussin# When copied to `GNUmakefile`, this file is can also be used for bootstrapping
13*0f5c86ddSBaptiste Daroussin# Makefile targets. Since GNUmakefile is loaded before Makefile, we do the
14*0f5c86ddSBaptiste Daroussin# bootstrapping tasks need to get a Makefile first, then we use the Makefile to
15*0f5c86ddSBaptiste Daroussin# make our target.
16*0f5c86ddSBaptiste Daroussin
17*0f5c86ddSBaptiste Daroussin# Remind user when they are using GNUmakefile:
18*0f5c86ddSBaptiste Daroussinifeq ($(lastword $(MAKEFILE_LIST)),GNUmakefile)
19*0f5c86ddSBaptiste Daroussin    $(info *** NOTE: GNUmakefile in use. ***)
20*0f5c86ddSBaptiste Daroussinendif
21*0f5c86ddSBaptiste Daroussin
22*0f5c86ddSBaptiste DaroussinMAKE_TARGETS := \
23*0f5c86ddSBaptiste Daroussin	all \
24*0f5c86ddSBaptiste Daroussin	all-am \
25*0f5c86ddSBaptiste Daroussin	all-recursive \
26*0f5c86ddSBaptiste Daroussin	install \
27*0f5c86ddSBaptiste Daroussin	test \
28*0f5c86ddSBaptiste Daroussin	test-all \
29*0f5c86ddSBaptiste Daroussin	test-suite \
30*0f5c86ddSBaptiste Daroussin
31*0f5c86ddSBaptiste Daroussin# SOURCE_FILES := $(shell find . | grep '\.c$$')
32*0f5c86ddSBaptiste DaroussinSOURCE_FILES := $(shell find tests/run-test-suite | grep '\.c$$')
33*0f5c86ddSBaptiste Daroussinifneq ($(shell which gindent),)
34*0f5c86ddSBaptiste DaroussinINDENT := gindent
35*0f5c86ddSBaptiste Daroussinelse
36*0f5c86ddSBaptiste DaroussinINDENT := indent
37*0f5c86ddSBaptiste Daroussinendif
38*0f5c86ddSBaptiste Daroussin
39*0f5c86ddSBaptiste Daroussin#
40*0f5c86ddSBaptiste Daroussin# Proxy make targets:
41*0f5c86ddSBaptiste Daroussin#
42*0f5c86ddSBaptiste Daroussindefault: all
43*0f5c86ddSBaptiste Daroussin
44*0f5c86ddSBaptiste Daroussin# Proxy these targets to the real Makefile, after bootstrapping is necessary.
45*0f5c86ddSBaptiste Daroussin$(MAKE_TARGETS): Makefile
46*0f5c86ddSBaptiste Daroussin	@make -f $< $@
47*0f5c86ddSBaptiste Daroussin
48*0f5c86ddSBaptiste DaroussinMakefile: Makefile.in
49*0f5c86ddSBaptiste Daroussin	./configure
50*0f5c86ddSBaptiste Daroussin
51*0f5c86ddSBaptiste DaroussinMakefile.in:
52*0f5c86ddSBaptiste Daroussin	./bootstrap
53*0f5c86ddSBaptiste Daroussin
54*0f5c86ddSBaptiste Daroussin#
55*0f5c86ddSBaptiste Daroussin# Development make targets:
56*0f5c86ddSBaptiste Daroussin#
57*0f5c86ddSBaptiste Daroussinindent:
58*0f5c86ddSBaptiste Daroussin	$(INDENT) $(SOURCE_FILES)
59*0f5c86ddSBaptiste Daroussin
60*0f5c86ddSBaptiste Daroussindistclean purge:
61*0f5c86ddSBaptiste Daroussin	git clean -dxf -e GNUmakefile
62*0f5c86ddSBaptiste Daroussin	rm -fr tests/run-test-suite
63*0f5c86ddSBaptiste Daroussin	git worktree prune
64