INDENT_OBJDIR=	${.OBJDIR:H}
INDENT=	${INDENT_OBJDIR}/indent

TESTS+=	binary
TESTS+=	comments
TESTS+=	cppelsecom
TESTS+=	declarations
TESTS+=	elsecomment
TESTS+=	f_decls
TESTS+=	float
TESTS+=	label
TESTS+=	list_head
TESTS+=	nsac
TESTS+=	offsetof
TESTS+=	parens
TESTS+=	sac
TESTS+=	struct
TESTS+=	surplusbad
TESTS+=	types_from_file
TESTS+=	wchar

all: run-tests .WAIT show-diffs

$(INDENT):
	${MAKE} -C ${INDENT_OBJDIR}

.for T in $(TESTS)
run-tests: $(T).diff

$(T).diff: $(T).run $(T).0.stdout $(INDENT)
	-diff -u $(T).0.stdout $(T).run > $(T).diff

$(T).run: $(INDENT) $(T).0
	$(INDENT) $(T).0 $(T).run -P$(T).pro 2>&1 || echo FAILED >> $(T).run
.endfor

show-diffs:
	@echo '*** Test diffs ***'
.for T in $(TESTS)
	@cat $(T).diff
.endfor

clean:
.for T in $(TESTS)
	rm -f $(T).run $(T).diff $(T).o $(T).plist
.endfor

good:
.for T in $(TESTS)
	cp $(T).run $(T).0.stdout
.endfor

.PHONY: all run-tests show-diffs clean good
