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