.PHONY: all
all: setup
	$(MAKE) -f scripts/makefile

.DEFAULT: setup
	$(MAKE) -f scripts/makefile $<

.PHONY:
setup: deps
	@echo -n > deps.mk
	@./scripts/gen-deps -p POSTHASTE -c COMPILE_POSTHASTE -b posthaste \
		"${POSTHASTE_SOURCES}"

POSTHASTE_SOURCES	:=
CLEANUP			:= build deps.mk posthaste

include src/source.mk

.PHONY: format
format:
	find src include -iname '*.[ch]' |\
		xargs uncrustify -c uncrustify.conf --no-backup -F -

.PHONY: docs
docs:
	find src include -iname '*.[ch]' -not -path */gen/* |\
		xargs ./scripts/warn-undocumented
	doxygen docs/doxygen.conf

RM	= rm

.PHONY: clean
clean:
	$(RM) -rf $(CLEANUP)
	$(MAKE) -C deps/ejit clean

.PHONY: clean_docs
clean_docs:
	$(RM) -rf docs/output

.PHONY: clean_all
clean_all: clean clean_docs

.PHONY: deps
deps:
	$(MAKE) -C deps/ejit